掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
ステートマシンのソースコードの生成/読み込みで操作が重複して生成される |
| フラット表示 | 前のトピック | 次のトピック |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2011-7-5 10:42 |
EA Administrator ![]() ![]() 投稿: 1895 |
ステートマシンのソースコードの生成/読み込みで操作が重複して生成されるサポートに寄せられたご質問の要約です。
○ご質問 ステートマシンを含むクラスのソースを生成/読み込みする場合、 読み込みの際にクラスの操作として取り込まれるため、 繰り返すと重複してソースが出力されてしまいます。 1)ソース生成の際にステートマシンの出力のオン/オフを選べるように テンプレートをカスタマイズする方法はありますでしょうか? 2)読み込みの際に、ステートマシンに該当する部分を 読み込まないようにする方法はありますでしょうか? ○回答 ステートマシン図を含むクラス要素につきましては、上書き生成のみ対応しており、 リバースすることは考慮に入れられておりません。 1)ステートマシン図を含むクラス要素には、ステートマシン図を生成するための メソッドの定義はないが、一度生成した後、読み込みをすると、クラス要素内に メソッドとして作成されるため、次回生成した際に同じ名前のメソッドが2つ 生成されているということではないかと思います。 このため、ご質問とは異なりますが、クラス要素に設定されたメソッドで ステートマシン図と同じ名前の場合は生成しないことができるか?という お問い合わせではないかと思っています。 この場合は、ソースコード生成ルールをカスタマイズし、該当のメソッドは 生成しないようにすることは可能です。 コード生成テンプレートのOperationの先頭で、if文で上記判断を行い、 不要な条件に一致する場合はendTemplateを行うことになります。 もし、ステートマシン図用のメソッド名に何か規則がある場合は、 操作の名前にその規則が含まれているかを判定することで、 容易に該当の操作を生成しないようにすることは可能です。 例)Operationテンプレートの先頭で $index = %FIND(opName,"state")% %if $index!= "-1"% %endTemplate% 2) 読み込みルールのカスタマイズにつきましては、EAの機能としては 対応はしておりません。 関連する情報を以下の掲示板に掲載しております。 「「ソースディレクトリの読み込み」をカスタマイズできますか?」 https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=4027 上記掲示板の中にあるサービスについては、以下のWebページに記載しております。 https://www.sparxsystems.jp/advanced.htm |
| フラット表示 | 前のトピック | 次のトピック |
| 題名 | 投稿者 | 日時 |
|---|---|---|
| » |
sugimoto | 2011-7-5 10:42 |




