基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > Windchill JSP フレームワークを使用した HTML クライアントのカスタマイズ > 属性パネル > ソリューション > ソリューション - 「タイプおよび属性の管理」ユーティリティで定義された任意のレイアウトを使って高度属性パネルを作成する > 手順 - 属性パネルの作成 > AbstractComponentBuilder の継承
  
AbstractComponentBuilder の継承
レイアウトベースのパネルを使うために、カスタムビルダーは com.ptc.mvc.components.TypedAttrLayOutFactoryAware, を実装する必要があります。これによって、レイアウトに基づいてコンフィギュレーションを取得する必要のある TypedAttrLayOutFactory のインスタンスにアクセスできます。
AbstractComponentBuilder にはデフォルトの動作がないため、次のメソッドをゼロから作成する必要があります。
public void setTypedAttrLayOutFactory(TypedAttrLayOutFactory factory)
protected AttributePanelConfig buildComponentConfig(ComponentParams params)
public Object buildComponentData(ComponentConfig config, ComponentParams params)
setTypedAttrLayOutFactory()
TypedAttrLayOutFactory は、所定のスクリーンタイプに基づいてパネルコンフィギュレーションを作成するときに使用されます。次のように、そのタイプのグローバル変数を宣言して、このメソッドを実装する必要があります。
TypedAttrLayOutFactory tfactory;
public void setTypedAttrLayOutFactory(TypedAttrLayOutFactory factory) {
this.tfactory = factory;
}
フレームワークはこのメソッドを呼び出して、ファクトリのインスタンスをユーザーに渡します。
buildComponentConfig()
このメソッドは、TypedAttrLayOutFactory を呼び出して AttributePanelConfig を作成し、パネルで使用するレイアウトに対応した ScreenDefinitionName をそれに渡す必要があります。例を挙げます。
AttributePanelConfig panelConfig =
tfactory.getAttributePanelConfig(getComponentConfigFactory(), params,
ScreenDefinitionName.CREATE);
返される AttributePanelConfig は、レイアウトで定義された、ネストされた GroupConfigsAttributeConfigs を持ちます。
必要な場合は、ファクトリによって返されたコンフィギュレーションをいじって、カスタマイズポイントに挙げられたコンフィギュレーションプロパティを修正することもできます。例は、手順 - 属性パネルの作成を参照してください。
パネルビュー JSP の修正方法およびパネルコンテキストオブジェクトの修正方法も参照してください。
buildComponentData()
このメソッドはパネルの単一データムオブジェクトを返す必要があります。表示のみのパネルの場合、これは一般に永続可能オブジェクトのインスタンスです。ウィザードの場合、これは通常、TypeInstance で、属性値に加えて、属性に対して定義された制約も含みます。
永続可能データムオブジェクトを返すには、一般に、次のようにコンテキストオブジェクトを返すだけで構いません。Object datumObject = params.getContextObject();
別の方法として、永続可能オブジェクトをクエリーすることもできます。
作成または編集ウィザードで TypeInstance データムオブジェクトを取得するには、TypeInstance データムオブジェクトの取得で説明されているように、CreateAndEditModelGetter.getItemAttributes() を呼び出します。別の方法として、TypeInstance API を使って TypeInstance を取得することもできます。