高度なカスタマイズ > ビジネスロジックのカスタマイズ > オプションとバリエーション > オプションとバリエーションのカスタマイズ > Windchill オプションセット委任フレームワークのカスタマイズ > オプションセットの委任の拡張 > オプションセット割当委任フレームワーク
  
オプションセット割当委任フレームワーク
オプションセット割当委任フレームワークによって、いくつかのメソッドを持つ一連のクラスが提供されます。これらのクラスを拡張し、メソッドを実装することで、必要に応じてカスタマイズすることができます。この委任によって、Windchill システムで使用されるオプションセットが返ります。オプションセットが特定のバージョンのオプションセット委任によってオーバーライドされた場合、オーバーライド後のバージョンのオプションセットが Windchill システムに返ります。
カスタマイズで重要なこのフレームワークの一部のクラスを次に示します。
RegisteredOptionSetLink
OptionSetOptionSetAssignable オブジェクトに関連付ける既成の関連付けクラス。これによって、デフォルトで、オプションセットが OptionSetAssignable オブジェクトに割り当てられます。
AbstractOptionSetFetcherDelegate
これはユーザーインタフェースと処理にカスタマイズ機能を提供するために定義されている抽象委任クラスです。このクラスには、ロジックをカスタマイズするために実装可能な次のメソッドがあります。
getAssignedOptionSet: これは指定したオブジェクトのオプションセットを決定するために実装可能な抽象メソッドです。
isAssignOptionSetAllowed: これはユーザーインタフェースでオプションセットをオブジェクトに割り当てる機能をカスタムロジックが必要とするかどうかをシステムに通知するメソッドです。これが許可されている場合、ユーザーインタフェースを使用してオブジェクトとの RegisteredOptionSetLink 関連付けを作成できます。
RegisteredOptionSetFetcherDelegate
これはオプションセットを割当可能なオブジェクトのオプションセットを決定するために Windchill で使用されるデフォルトの委任です。この委任によって、AbstractOptionSetFetcherDelegate によって定義される getAssignedOptionSet が実装されます。オプションセットを決定する際に、この委任は RegisteredOptionSetLink 関連付けを使用してオブジェクトに割り当てられているオプションセットを検索します。オブジェクトのオプションセットが見つからず、オブジェクトが含まれている場合、オブジェクトはそのコンテナ階層でオプションセットが使用可能かどうかをチェックします。OptionSetAssignable のインスタンスであるオブジェクトのコンテナだけが考慮されます。
委任フレームワークのクラス
com.ptc.windchill.option.delegate.AbstractOptionSetFetcherDelegate
com.ptc.windchill.option.delegate.impl.RegisteredOptionSetFetcherDelegate
com.ptc.windchill.option.delegate.impl.NullOptionSetFetcherDelegate
メソッド署名および所定の入力および出力パラメータの詳細については、Windchill Java ドキュメンテーションを参照してください。
カスタム委任の作成
オプションセットを決定する独自のロジックを開発するには、com.ptc.windchill.option.delegate.AbstractOptionSetFetcherDelegate を拡張してメソッド getAssignedOptionSet を実装する新しい委任を作成できます。このカスタム委任をシステムで特定のタイプのオブジェクトに登録できます。これによって、既成のオブジェクトやカスタムオブジェクトのオプションセットを決定するカスタムロジックを作成できます。
デフォルトの登録済みオプションセット委任の拡張
Windchill でオブジェクトのオプションセットを決定する OptionSetDelegate の既成のロジックをカスタマイズするため、カスタムロジック用に com.ptc.windchill.option.delegate.impl. RegisteredOptionSetFetcherDelegate を拡張してメソッド getAssignedOptionSet をオーバーライドできます。このクラスを拡張することで、既成の委任と独自のビジネスロジックの両方を利用できます。
手順
Windchill Information Modeler を使用してクラスを拡張する手順については、Windchill Customization Guide を参照してください。デフォルトのインタフェース実装の単純な拡張では、次のプロセスを使用します。
1. エディタまたは任意の統合開発環境 (IDE) を使用して java ソースファイルを定義します。
* 
Windchill のインストール時に提供されたクラスを修正したり置き換えたりしないでください。これらのファイルは将来ソフトウェアがリリースされる際に置き換えられる可能性があります。
2. java ソースファイルを Windchill コードベースにコンパイルします。
3. プロパティの適切な新しい値を含む XCONF ファイルを作成して Windchill システムで委任を登録します。
4. XCONF Manager を使用して Windchill サービスプロパティを更新します。
これらの Windchill プロパティは Windchill XCONF 機能を使用して定義されています。XCONF ファイルの詳細とその作成方法については、Windchill Specialized Administration Guide を参照してください。
新しいカスタムタイプの部品とその独自のビジネス規則セットを定義しました。このタイプまたはその構造では、なんらかのカスタムロジックによってオプションセットを決定する必要があります。このカスタムロジックは部品タイプとの直接の関連付けを必要としません。その代わり、オプションセットの決定には部品についての情報が使用されます。さらに、オプションセットが確定していない必要があります。このため、部品の情報に基づいて、既成の処理によってオプションセットが決定されます。