掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     [Java] 操作の引数・戻り値の型の import


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-12-12 14:59

[Java] 操作の引数・戻り値の型の import

属性の型、操作の引数・戻り値の型がクラスの場合、
依存関係を引かないと import 文は生成されませんか?
自動で判断して import 文が生成できるとありがたいのですが。

また、インタフェースに定義した操作が、
具象クラスにも生成されますが、
できれば、こちらも import 文が出てくれるとありがたいです。
sugimoto
投稿日時: 2007-12-12 15:24
EA Administrator
投稿: 1895

Re: [Java] 操作の引数・戻り値の型の import

引用:

属性の型、操作の引数・戻り値の型がクラスの場合、
依存関係を引かないと import 文は生成されませんか?
自動で判断して import 文が生成できるとありがたいのですが。


「ツール」→「オプション」の”ソースコードの生成と読み込み”ページにある
「戻り値や引数にクラスが利用されている場合に依存関係を作成」
チェックボックスを有効にした状態で、一度生成されたソースコードを
読み込みますと、クラス間に依存関係が生成されます。
その状態で、ソースコード生成を行いますと、import文が生成されます。

この依存関係がない状態で、import文を作成することは現状できません。

ご確認のほど、よろしくお願いいたします。

引用:

また、インタフェースに定義した操作が、
具象クラスにも生成されますが、
できれば、こちらも import 文が出てくれるとありがたいです。


こちらは、クラスからインタフェース要素へ実現の関係を引き、
実装する操作を選択した場合のご質問でしょうか?
この場合にソースコード生成すると、import文が出力される
ことを確認いたしました。

弊社の操作において、ご質問と異なる点がありましたら、
ご指摘いただきますと助かります。
未登録ゲスト
投稿日時: 2007-12-12 15:52

Re: [Java] 操作の引数・戻り値の型の import

早速回答いただきありがとうございます。

「戻り値や引数にクラスが利用されている場合に依存関係を作成」
はどこで効くのかわかりませんでしたが、リバース時に使われるのですね。

後半ですが、インタフェースの import ではなく、
インタフェースに定義されたメソッドの引数、戻り値で使われいるクラスの import です。
以下のような場合、AImpl に foo メソッドが生成されますが、
import x.B;
が生成されません。
依存関係を引けばよいのですが、foo が自動で生成されるので、import 文が出力されないと中途半端かなと思った次第です。

<<interface>>
 A
-------
foo(:B)
 △
 :
 AImpl
sugimoto
投稿日時: 2007-12-12 16:58
EA Administrator
投稿: 1895

Re: [Java] 操作の引数・戻り値の型の import

引用:

「戻り値や引数にクラスが利用されている場合に依存関係を作成」
はどこで効くのかわかりませんでしたが、リバース時に使われるのですね。


こちらは、現状のチェックボックスの名前からですと、ソースコード
生成なのか、読み込みなのかが判断できないと思われます。
判断できるように、名前を改善いたします。

引用:

後半ですが、インタフェースの import ではなく、
インタフェースに定義されたメソッドの引数、戻り値で使われいるクラスの import です。
以下のような場合、AImpl に foo メソッドが生成されますが、
import x.B;
が生成されません。
依存関係を引けばよいのですが、foo が自動で生成されるので、import 文が出力されないと中途半端かなと思った次第です。

<<interface>>
 A
-------
foo(:B)
 △
 :
 AImpl


詳細な情報ありがとうございます。
状況を把握することができました。

こちらは、既定のコード生成テンプレートではできませんが、
テンプレートを編集することで、実現できる可能性がございます。
弊社にてテンプレートの編集を行い動作確認を行いますので、
お時間を頂戴したくお願いいたします。
sugimoto
投稿日時: 2007-12-12 18:46
EA Administrator
投稿: 1895

Re: [Java] 操作の引数・戻り値の型の import

引用:

こちらは、既定のコード生成テンプレートではできませんが、
テンプレートを編集することで、実現できる可能性がございます。
弊社にてテンプレートの編集を行い動作確認を行いますので、
お時間を頂戴したくお願いいたします。


こちらコード生成テンプレートにて、対応を検討いたしましたが、
現在のテンプレートでは実現できないことが判明いたしました。
申し訳ございません。

(具体的には、フィールド置換マクロのopReturnValueや
opReturnQualType、paramType、opReturnQualType
を利用すると、インタフェース要素側の操作の戻り値や
パラメータを取得でき、それが分類子かどうかを判断できる
のですが、新規テンプレートにて追加したOperation__***
テンプレートでは、インタフェース要素側の情報が取得でき
ていないことが判明しました。
こちらは、コード生成テンプレートのバグの可能性があります
ので、開発元に連絡し、修正いたします。)

現バージョン(EA7.0 ビルド818)では、コード生成テンプレート
で実現できませんでしたが、ご連絡いただいた状況でのimport文
生成につきましては、機能改善要望として検討させていただきます。

現時点でご要望にお応えすることができず、申し訳ございません。
sugimoto
投稿日時: 2008-3-19 15:24
EA Administrator
投稿: 1895

Re: [Java] 操作の引数・戻り値の型の import

「戻り値や引数にクラスが利用されている場合に依存関係を作成」
の文言が分かりにくかった点につきましては、
Enterprise Architect7.1 ビルド827で改善し、
「戻り値や引数にクラスが利用されている場合には、読み込み時に依存関係を作成」
に変更しました。

この変更によりソースコード読み込み時に有効なオプションで
あることがお分かりいただけるかと思います。

このたびは貴重なご意見ありがとうございました。

ぜひ最新版をご利用ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ