基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > Windchill JSP フレームワークを使用した HTML クライアントのカスタマイズ > カスタマイズツールの概要 > レポート > 論理属性レポート
  
論理属性レポート
タイプの「Logical Attribute Report」には、そのタイプに対してすでに使用されているマッピングと、「タイプおよび属性の管理」ユーティリティでエイリアス属性に対して使用されるマッピングが表示されます。
論理属性の作成は、LogicalIdentifierFactory の機能です。TypeIdentifier のコンテキストの論理フォーム LogicalIdentifierFactory (例: factory.get("name", "wt.part.WTPart")) を渡すと、その論理フォームはタイプの属性として処理されます。いくつかの手順を通過して、論理フォームのマッピングが試行および検索されます。
1. 最初に、logicalIdentifier.properties で論理フォームが検索されます。"MBA|foobar" にマッピングするように logicalIdentifier.properties で "name" が定義されている場合は、"MBA|foobar" が返されます。
2. logicalIdentifier.properties にエントリが存在しない場合は、/codebase/LogicalAttributes.xml ファイルを調べます。このファイルは次のようなフォーマットになっています。
....
<Class name="wt.enterprise.RevisionControlled">
<Property>
<LogicalForm>name</LogicalForm>
<ExternalForm>MBA|name</ExternalForm>
</Property>
</Class>
....
ファクトリはこの xml ファイルを調べて、リクエストされた論理フォームに、ユーザーから渡されたタイプ用のエントリが存在するかどうかを確認します。リクエストされたタイプのエントリが存在しない場合は、そのタイプのスーパータイプのいずれかに対するエントリが存在するかどうかを確認します。複数の継承先によるコンフリクトは、次の 2 つの規則によって解決されます。
a. 親クラスが親インタフェースよりも優先される。
b. 親インタフェースの優先順位はアルファベット順である (つまり "java.util.Map" は "java.util.Set" より優先される)。(さらに詳細なコンフィギュレーション可能ソリューションも可能です)。
3. LogicalAttributes.xml に一致するエントリが存在しない場合、ファクトリはイントロスペクションを使用して、一致するものを試したり検索したりします。これは、リクエストされたタイプに対して定義されたすべての AttributeTypeIdentifiers のリストを取得して、そのリスト内のいずれかの属性名と論理フォームが一致しているかどうかを確認することによって行われます。
レポート出力
レポート出力には 4 つの列があります。最初の 2 列では、属性の論理フォームと、係数によって返される外部フォームをマッピングします。3 列目には、ファクトリが外部フォームを取得した場所 (logicalIdentifier.propertiesLogicalAttributes.xml、またはイントロスペクションのいずれかから) が表示されます。4 列目には、ビジネスフィールドの識別子が表示されます。