EASLコード生成マクロ

<< 目次を表示 >>

ページ位置:  Enterprise Architectの拡張 > ソースコード生成のカスタマイズ > コード生成テンプレートフレームワーク > コード生成テンプレートの文法 > マクロ >

EASLコード生成マクロ

振る舞いモデルをコード生成するために、Enterprise Architectには、2つのEASL(Enterprise Architect Simulation Library)コード生成マクロがあります。

これらは、以下の4つです。:

 

 

EASL_INIT

EASL_INITマクロは、EASLオブジェクト全体の内部の初期化処理を行います。

 

項目

説明

文法

%EASL_INIT(<<GUID>>)%

GUIDは、通常は、対象のクラス要素のGUIDを渡します。

 

 

EASL_GET

EASL_GETマクロは、EASLオブジェクトのプロパティやコレクションを取得するために利用します。各オブジェクトのEASLオブジェクトとプロパティとコレクションは、EASL コレクションEASL プロパティ を用いて識別します。

 

項目

説明

文法

$result = %EASL_GET(<<Property>>, <<Owner ID>>, <<Name>>)

 

パラメータの説明:

  • <<Property>> :文字列で「Property」・「Collection」・「Count」・「At」・「IndexOf」のいずれかになります。
  • <<OwnerID>> :「Property」・「Collection」の場合、プロパティ/コレクションが取得される元となるオブジェクトのIDです。
  • <<Name>> :「Property」・「Collection」の場合、アクセスするプロパティやコレクションの名前です。
  • $result   :戻り値です。もし無効なプロパティの場合は、空文字""が返却されます。

 

もし <<Property>> が:

  • "At" の場合には、 <<OwnerID>>が対象のコレクションを示すGUIDで、 <<Name>> はコレクション内の位置の指定となり、指定した位置の要素を取得します。
  • "Count" の場合には、 <<Owner ID>>が対象のコレクションを示すGUIDで、<<Name>> は~文字列を指定します。コレクション内の要素の個数を取得します。
  • "IndexOf" の場合には、 <<Owner ID>> が対象のコレクションを示すGUIDで、<<Name>> 探索対象の要素のGUIDを指定します。 その要素のコレクション内の位置を文字列で返します。

$sPropName = %EASL_GET("Property", $context, "Name")%

 

 

EASLList

EASLListマクロは、適したテンプレートを使用しているEASLコレクション内の各オブジェクトを表現するために使用します。

EASL_GETの第1引数が「Count」の場合、第2引数は別のEASL_GET関数(第1引数が「Collection」)の結果(を格納した変数)になります。第3引数はありません。この場合、コレクションの個数が文字列として返ります。

EASL_GETの第1引数が「At」の場合、第2引数は別のEASL_GET関数(第1引数が「Collection」)の結果(を格納した変数)になります。第3引数は、コレクションの何番目を取得するかを示す数値(の文字列)です。この場合、コレクションの指定された位置の内容が文字列として返ります。位置は、0オリジンです。

 

項目

説明

文法

$result = %EASLList=<<TemplateName>> @separator=<<Separator>>

               @indent=<<indent>> @owner=<<OwnedID>>

               @collection=<<CollectionName>> @option1=<<OPTION1>>

               @option2=<<OPTION2>>......... @optionN=<<OPTIONN>>%

 

パラメータの説明:

  • <<TemplateName>> :振る舞いモデルテンプレート または カスタムテンプレートで付けた名前です。
  • <<Separator>> :リストのセパレータです。(例) "\n"
  • <<indent>> :結果に付加するインデントです。
  • <<owner>> :コレクションを含むオブジェクトのIDです。
  • <<CollectionName>> :コレクションの名前です。
  • <<OPTION1>....<<OPTION99>> テンプレートに渡されるさまざまなオプションです。それぞれのオプションは、テンプレートへの付加的な入力パラメータとして使用されます。
  • $result   :戻り値です。もし無効なコレクションの場合は、空文字""が返却されます。

$sStates = %EASLList="State" @separator="\n" @indent="\t"

@owner=$StateMachineGUID @collection="States" @option=$sOption%

 

 

EASL_END

EASL_ENDマクロは、EASLオブジェクト全体の利用を終了し、内部で利用していた処理領域を開放します。

 

項目

説明

文法

%EASL_END%

 

 

振る舞いモデルテンプレート

 

 

参照: