掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     ClassBaseについて


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
nakapon
投稿日時: 2022-5-25 14:53
EA Administrator
投稿: 427

ClassBaseについて

サポート宛てにいただきましたご質問の要約です。

○ご質問

C++のコード生成テンプレートで、Class Inhertisテンプレートの
2~3行目に下記があります。

$base=%list="ClassBase" @separator=", "%
$interfaces=%list="ClassInterface" @separator=", "%

最終的にはどちらもClassBaseテンプレートを
呼び出しているようですが、違いを教えてください。


○回答

当該行につきましては、「親クラスとインターフェースの指定」画面(※)で
「モデルにない分類子を許可」を有効にし、「クラス名」にモデルにない
クラス名を手入力した場合に、文字列が格納されます。

 ※当該画面についてはヘルプより、Enterprise Architectの操作 > 要素
  > 要素に関する操作 > 要素の親クラスを設定
  をご確認ください。

テンプレートの呼び出し順としては上記画面で
「種類」が「汎化」の場合は下記1、
「種類」が「実装」の場合は下記2、
となります。

テンプレート呼び出し順
1.Class Inhertis → ClassBase ※Class Inhertisテンプレート2行目
2.Class Inhertis → ClassInterface → ClassBase ※Class Inhertisテンプレート3行目

このように ClassBase 側で呼び出し元を判断し、処理を変えています。
(EAの内部処理のため、この動作を変更することはできません)


参考情報としてヘルプより、
Enterprise Architectの拡張(SDK) > コード生成テンプレートフレームワーク
> コード生成テンプレートフレームワーク > コード生成テンプレートの文法
> マクロ > テンプレート置換マクロ
もご確認ください。


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ