掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
1つのクラスから2つの異なるフォーマットを出力したい |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2009-10-15 11:18 |
EA Administrator ![]() ![]() 投稿: 1895 |
1つのクラスから2つの異なるフォーマットを出力したい○ご質問
クラス図からソースコードをC++で生成したいのですが、 1つのクラスに 対して2つの異なるフォーマットで生成したいと考えています。 (同時に生成する必要はありません。) 例えば、ある時は「C++でヘッダに説明があるフォーマット」で生成し、 ある時は「C++でヘッダに説明がないフォーマット」を生成するような感じです。 この場合、新規で言語を登録(C++と同じデータ型に設定)するしかないでしょうか? ○回答 新規で言語を登録する以外にも方法がありますので、ご提案いたします。 今回のように、何か条件によって生成するソースコードの内容を変えたい場合は、 ステレオタイプがよく利用されます。 コード生成テンプレートでは、クラス要素やパッケージのステレオタイプを 参照することができますので、そのステレオタイプがxxの場合はヘッダを出力、 ステレオタイプがyyの場合はヘッダを出力しない、というif文をコード生成 テンプレートに書くことができます。 このことによって、テンプレートは1つですが、コードを生成するときの モデルの情報によって、生成する内容を変更することができます。 すでにステレオタイプをご利用の場合は、タグ付き値を利用したり、 ステレオタイプを複数個設定することも可能です。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




