高度なカスタマイズ > Windchill アダプタ > カスタム Windchill アダプタ Webject > wt.adapter.delegates.properties ファイルについて
  
wt.adapter.delegates.properties ファイルについて
wt.adapter.delegates.properties ファイルには Windchill アダプタ Webject 委任を設定するプロパティが含まれています。次を定義するためのセクションがあります。
使用できる Webject 代理
属性変換の代理
特定の Windchill タイプのデフォルトの属性セット
特定の Windchill タイプの除外する属性セット
* 
wt.adapter.delegates.properties に対する変更が認識されるためには、メソッドサーバーを再起動する必要があります。
Webject 代理の定義
このセクションのエントリは、各 Webject 委任が有効となるオブジェクトのタイプとともに Windchill アダプタの Webject 委任の名前を指定します。Webject 代理定義のフォームは以下のとおりです。
webjectName.TYPE|targetType=webjectDelegateClassname
webjectName は Webject の名前です。
targetType は TYPE パラメータの指定されたクラスまたは Windchill タイプです。
webjectDelegateClassname は呼び出す Webject 委任のクラス名です。
たとえば、以下の Webject 代理定義について検討します。
QUERYOBJECTS.WCTYPE|
java.lang.Object=com.ptc.core.adapter.server.impl.QueryObjectsWebjectDelegate
QUERYOBJECTS.WCTYPE|
wt.org.WTPrincipal=wt.adapter.org.QueryPrincipalsWebjectDelegate
2 つの Webject 委任が QUERYOBJECTS という名前で定義されています。最初の委任は java.lang.Object タイプのオブジェクトに対するものです。2 番目の委任は wt.org.WTPrincipal タイプのオブジェクトに対するものです。
QUERYOBJECTS という名前の Webject を呼び出すように Windchill アダプタに指示すると、最初に Webject の TYPE パラメータを参照します。TYPE パラメータが wt.org.WTPrincipal または wt.org.WTPrincipal クラスのサブクラス名を指定する場合は、2 番目の Webject 委任を使用します。
次に、Windchill アダプタはクラス wt.adapter.org.QueryPrincipalsWebjectDelegate を呼び出し、ユーザーが指定したサーチ基準を使用して参加者を照会します。
または、QUERYOBJECTS Webject の TYPE パラメータに任意のクラス名または wt.org.WTPrincipal のインスタンスではない Windchill タイプが含まれている場合は、最初の Webject 委任を使用します。Windchill アダプタはクラス com.ptc.core.adapter.server.impl.QueryObjectsWebjectDelegate を呼び出して、ユーザーが指定したサーチ基準を使用してオブジェクトを照会します。
* 
タスク内の Webject 名では大文字と小文字は区別されず、Webject 代理を検索するときにダッシュは破棄されます。wt.adapter.delegates.properties で指定する Webject 名はすべて大文字で指定し、ダッシュを含まないようにする必要があります。
属性変換の委任の定義
Windchill アダプタ Webject からグループが返される場合、グループのタイプインスタンスの属性値をエンドユーザー向けにフォーマットするかどうかは、FORMAT パラメータによって決まります。
wt.adapter.delegates.properties に定義された属性変換の委任により、ユーザーが属性のフォーマットを要求したときに属性値をどのように変換するかが決まります。属性トランスレータを使用して、外部文字列フォームから、オブジェクトの作成または更新に必要な内部タイプに値を変換することもできます。
属性変換代理のフォームは以下のとおりです。
Attribute.attributeClass=attributeTranslatorClass
attributeClass は、変換する属性値のクラスの完全修飾名です。
attributeTranslatorClass は、変換を実行するクラスの完全修飾名です。
属性変換の委任エントリは、attributeClass のスーパークラスに対しても有効です。attributeClass の属性トランスレータがない場合は、デフォルトのトランスレータを使用します。
次の例では、com.ptc.core.adapter.server.impl.BooleanTranslator クラスを使用して、単純なブール型の属性値をエンドユーザー向けにフォーマットする必要があります。
Attribute.boolean=com.ptc.core.adapter.server.impl.BooleanTranslator
これにより属性のブール型オブジェクトコンテンツの文字列値 "true" または "false" を返します。
属性値は Windchill タイプからも変換できます。次の例では、com.ptc.core.adapter.server.impl.ObjectReferenceTranslator クラスを使用して、タイプ com.ptc.core.meta.common.TypeInstanceIdentifier の属性値をエンドユーザー向けにフォーマットする必要があります。
Attribute.com.ptc.core.meta.common.TypeInstanceIdentifier=
com.ptc.core.adapter.server.impl.ObjectReferenceTranslator
ObjectReferenceTranslator クラスは、TypeInstanceIdentifier の永続的な ID を返すことによって TypeInstanceIdentifier を変換します。
デフォルトの属性セットの定義
Webject に ATTRIBUTE パラメータが指定されていない場合、Windchill アダプタは出力グループのタイプインスタンスに有効なすべての属性のセットを返します。
Webject に ATTRIBUTE パラメータが指定されていない場合、特定のタイプのデフォルト属性セットを返すように Windchill アダプタを設定できます。タイプのデフォルト属性セットを指定するフォームは以下のとおりです。
DefaultAttributes.type=attributeList
ここで、type は出力グループのタイプインスタンスのタイプであり、attributeList は type に有効な論理属性名のコンマで区切ったリストです。
次の例では、ATTRIBUTE パラメータが指定されていない Webject の出力グループに WCTYPE|wt.part.WTPartUsageLink タイプインスタンスが返されたとき、属性 quantity.amount および quantity.unit が含まれます。
DefaultAttributes.WCTYPE|
wt.part.WTPartUsageLink=quantity.amount,quantity.unit
除外する属性セットの定義
サイトで、特定のタイプインスタンスから属性を除外する場合があります。そのような属性を出力グループに返さないように、Windchill アダプタを設定できます。
タイプから除外する属性のセットを指定するフォームは以下のとおりです。
ExcludeAttributes.type=attributeList
ここで、type は属性を除外するタイプインスタンスのタイプであり、attributeList は type に有効な論理属性名のコンマで区切ったリストです。
次の例では、WCTYPE|wt.annotation.StructuredAnnotationSet タイプの出力グループのタイプインスタンスには creator 属性が含まれません。
ExcludeAttributes.WCTYPE|
wt.annotation.StructuredAnnotationSet=creator