掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     [Java] 関連からフィールド作成


フラット表示 前のトピック | 次のトピック
投稿者 トピック
未登録ゲスト
投稿日時: 2007-12-12 15:08

[Java] 関連からフィールド作成

関連端名を指定しない場合のフィールド名の既定値ですが、
$LinkClass
を使用すると先頭が大文字になってしまい Java の規約に違反してしまいます。
そこで、コード生成テンプレートの
LinkedAttributeDeclaration
を以下のように変更してみました(抜粋)。

$initial=""
%if $type != linkAttName%
$initial = " = new " + $type + "()"
$initial = %REPLACE($initial, ".List", ".ArrayList")%
$initial = %REPLACE($initial, ".Map", ".LinkedHashMap")%
%endIf%

%if linkAttRole != ""%
%linkAttRole%
$initial;
%else%
$name = %REPLACE(genOptDefaultAssocAttName,"$LinkClass",linkAttName)%
$head = %LEFT($name, 1)%
$name = %TO_LOWER($head)% + %MID($name, 1)%
%if $type != linkAttName%
$name += "s"
%endIf%
$name
$initial;
%endIf%

目的どおり、
java.util.List<Foo> foos = new java.util.ArrayList<Foo>();
のようなコードが生成できたのですが、
コード生成するたびにこの行が複製されてしまいます。
フィールド名を変更しているのが問題のようなのですが、
対処方法がわかりましたらご教示ください。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » [Java] 関連からフィールド作成 未登録ゲスト 2007-12-12 15:08
     Re: [Java] 関連からフィールド作成 tkouno 2007-12-12 15:19
       Re: [Java] 関連からフィールド作成 未登録ゲスト 2007-12-12 15:39
         Re: [Java] 関連からフィールド作成 tkouno 2007-12-12 15:54