高度なカスタマイズ > Windchill アダプタ > カスタム Windchill アダプタ Webject > カスタム Windchill アダプタ Webject の実装 > 新規の Webject 代理の作成
  
新規の Webject 代理の作成
ほとんどの Windchill アダプタ Webject は、com.ptc.core.adapter.server.impl パッケージにあります。単純化するために、Windchill アダプタ Webject はモデル化されていません。ほとんどの Webject サブクラスの親クラスは、アダプタ Webject のタイプごとに共通です。
OBJ Webject は通常、com.ptc.core.adapter.server.impl.ObjectWebject を拡張します。
ACT Webject は、com.ptc.core.adapter.server.impl.ActionWebject を拡張します。
ObjectWebject と ActionWebject の両方は、com.ptc.core.adapter.server.impl.AbstractWebject を拡張します。
各クラスでは、作成される Webject のタイプに適用できる役立つ便利なメソッドとパラメータのサポートが提供されます。これらのサブクラスは、TypeAwareWebjectDelegate インタフェースも継承します。サブクラスは invoke() メソッドだけを実装する必要があります。
それぞれの使用可能なメソッドの詳しいリストについては、com.ptc.core.adapter.server.impl の javadoc を参照してください。
Windchill アダプタ Webject は、コア Info*Engine Java アノテーションを使用してパラメータの収集および検証を制御します。これにより、すべての Webject で可能なかぎり着実に入力パラメータが処理され、一貫したエラーメッセージが報告されるので、ルーチンを実行するソースコードを重複させる必要はありません。
既存のスーパークラス (ObjectWebject、ActionWebject、または AbstractWebject) を使用する場合、収集および使用されるパラメータが各クラスに対して定義されているので、サブクラスに対しては、親クラスがまだ収集していない特別に使用されるパラメータだけを定義する必要があります。その後、Webject パラメータの検証により、次のようなすべての基本検証を実行できます。
必須パラメータが存在すること
相互依存パラメータが存在すること
相互排他的なパラメータがともに指定されていないこと
パラメータが定義されたデータタイプに適合していること
Webject 実装自体では、基本パラメータの検証のみが行われます。
既存の基本クラスを拡張する場合、invoke メソッド実装でクラスが最初に実行する必要があるのは、親クラスの preset メソッドの呼び出しです。これによってパラメータが検証され、共通パラメータが収集されます。
共通の基本クラスを拡張しない場合、パラメータ検証を強制するか (アノテーションを使用した場合)、Webject からパラメータを手動で収集する必要があります。
パラメータ検証で使用されるアノテーションは、com.infoengine.object.factory.WebjectDef および com.infoengine.object.factory.ParameterDef です。詳細については、後続トピックの例を参照してください。