掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     MDA変換の定義の結果が反映されない


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
tkouno
投稿日時: 2010-9-30 11:33
EA Administrator
投稿: 3939

MDA変換の定義の結果が反映されない

○ご質問

MDA変換のテンプレートをカスタマイズしています。
名前と別名を入れ替えようと、変換テンプレートの
「Class Base」の内容を変更したのですが、結果が反映されません。

テンプレートが違うのでしょうか?

○回答


ご質問の件につきまして、いただきましたご質問にありますように
対象のテンプレートが違っているように思います。

ヘルプファイルで「Class Base」を検索すると見つかる「ベーステンプレート」
のページにありますように、このテンプレートは

> 親クラスがモデル内に存在しない場合のクラスの名前や継承関係についてのコード
> を生成するテンプレートです。

というためのテンプレートです。つまり、汎化の関係がある場合の処理を
記述するためのテンプレートになります。

なお、この既定のテンプレートの意味や、テンプレート内での文法については
ソースコードの生成テンプレートと同じになっています。
(ソースコードの生成時でも、「Class Base」のテンプレートは
汎化の関係(継承)の内容を出力するためのものです。)

ですので、このあたりの基礎を理解するためには、ソースコードの生成
テンプレートを先に理解しておくと、効率的です。ヘルプファイルや
PDFドキュメントもありますが、余裕があればセミナーの受講を強くお勧めします。

https://www.sparxsystems.jp/seminar/EACodeGenerate.htm
sugimoto
投稿日時: 2010-10-14 14:02
EA Administrator
投稿: 1895

Re: MDA変換の定義の結果が反映されない

○ご質問(続)

コードテンプレートエディタには「ClassDeclaration」テンプレートがあり、
クラス名の入れ替えはできるのですが、変換テンプレートにはクラス関連では
Class
ClassBase
ClassInterface
しかない為、行き詰まっています。

○回答(続)

クラス名を別名に変換したい場合は、Classテンプレートの
「%TRANSFORM_CURRENT("language")%」以下に、
「name="%classAlias%"」と挿入することで実現できます。

○ご報告

無事変換することができたとのご報告をいただきました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ