ESIMap
Windchill ESI マップは、ESI 応答メタ情報ファイル内の Map エレメントのコンテンツを表すオブジェクトです。Map エレメントには attributeMapping という名前の子エレメントが 1 つ以上存在することがあり、各子エレメントはソース属性名とターゲット属性名のペアと、オプションで属性のデフォルト値を表します。ファイル内の各 attributeMapping エントリは次の形式をとります。
<esi:attributeMapping sourceAttribute="Source_Name" defaultValue="Default">
Target_Name</esi:attributeMapping>
Source_Name は、抽出するデータを検索する場所を表す指示です。このエントリのこのセクションは必須です。
マッピングされるオブジェクトが Info*Engine エレメントオブジェクトである場合、Source_Name はそのエレメントオブジェクトの Info*Engine Att オブジェクトの名前になります。
マッピングされるオブジェクトが Info*Engine エレメントでない場合、Source_Name はそのオブジェクトに対して呼び出す "getter メソッド" の名前になります。Source_Name に指定した値の先頭に "get" という文字が追加され、結果の文字列がメソッド名として使用されます。マッパーは、引数を取らない、"get" で始まる名前が付いたメソッドのみを呼び出します。
マッパーはオブジェクト構造をナビゲートできます。Source_Name にピリオドが含まれている場合、ピリオドはメソッド区切り記号として解釈されます。マッパーは、Source_Name の 1 つ目のセグメントによって指定される "getter メソッド" を、マッピングされるオブジェクトに対して呼び出します。そのメソッドが結果を返した場合、マッパーはその結果に対して Source_Name の 2 つ目のセグメントを呼び出します。マッパーは Source_Name の各セクションの結果を続けて取得します。
例:
これは、Windchill ESI BOM コンポーネントレンダラー Quantity Amount によって使用される属性マッピングエントリのいずれかの Source_Name の値です。マッパーは、マッピングされるオブジェクトに対して getQuantity() メソッドを実行します。結果が Null でない場合、マッパーは getQuantity() メソッドによって取得されたオブジェクトに対して getAmount() メソッドを実行します。getAmount() が値を返した場合、マッパーはその値を出力に割り当てます。
Target_Name は、マッパーによって作成される出力 Att オブジェクトに割り当てられる名前です。このエントリのこのセクションは必須です。
Default は、ソースから値を取得できない場合に出力に割り当てる値です。このエントリのこのセクションはオプションです。
このクラスで使用可能なメソッドを以下に示します。
ESIMap(fileName : 文字列)
引数 fileName によって指定されたマップファイルを読み込みます。このコンストラクタは、ESI マップがマップファイルから作成される場合にのみ使用されます。マップファイルの詳細については、このセクションの末尾にあるNoteを参照してください。
ESIMap(mapID : 文字列, attributes : リスト<エントリ>)
新しい ESIMap インスタンスを作成し、その属性 identries を入力値に設定します。このコンストラクタは、ESI 応答メタ情報ファイルを解析する API によって呼び出されます。
getID() : 文字列
属性 id の値を返します。
getSourceAttributes() : コレクション
ソース属性の名前を表す文字列のコレクションを返します。
getTargetAttributes() : コレクション
ターゲット属性の名前を表す文字列のコレクションを返します。
iterator() : java.util.Iterator
エントリ属性内のコレクションのイテレータを返します。
* 
ESIMap インスタンスにはエントリインスタンスのリストが格納され、各インスタンスは ESI 応答メタ情報ファイル内の特定の Map エレメントの特定の属性マッピングエントリを表します。上記のエントリは、先ほどのエントリインスタンスのリストを参照します。
* 
ほとんどの ESI マップオブジェクトは ESI 応答メタ情報ファイルのコンテンツを使用して設定されますが、ESITarget.mapESIReleaseActivities.map などのマップファイルから取得されるものもあります。マップファイルは ASCII テキストファイルです。マップファイル内の各エントリのフォーマットは次のとおりです。
Source_Name = Target_Name|Default
ここで、Source_Name、Target_Name、Default は、このセクションで先に説明したものと同じ意味を持ちます。
これは役に立ちましたか?