データ管理機能 > 部品構造の管理 > Windchill のオプションとバリエーションの機能 > オプションフィルタによるコンフィギュレーション可能な製品構造のフィルタ > 標準と代替のオプションフィルタ > オプションフィルタ委任のフィルタ動作のカスタマイズ > 標準と代替の動作の設定
  
標準と代替の動作の設定
各メソッドにコンフィギュレーションファイルを指定することで、標準オプションフィルタと代替オプションフィルタの動作をカスタマイズできます。コンフィギュレーションファイルによって、次の基準に応じて、モジュールバリエーションのフィルタ条件が指定されます。
指定されているフィルタタイプ:
標準
代替
親/子タイプの組み合わせ
定義式が割り当てられている場所:
アイテム
親子リンク
オカレンス
割り当てられた定義式の評価結果:
TRUE
FALSE
UNDEFINED
WT_HOME/wt.properties ファイルの次のプロパティで 2 つのコンフィギュレーションファイルが登録されています。
ato.filter.strategy.1 - 標準の動作
ato.filter.strategy.2 - 代替の動作
wt.properties ファイル内のこれらのプロパティの既成値は次のとおりです。
ato.filter.strategy.1=$(wt.home)/codebase/com/ptc/windchill/option/filter/StandardFilterStrategy.xml
ato.filter.strategy.2=$(wt.home)/codebase/com/ptc/windchill/option/filter/AlternateFilterStrategy.xml
カスタム XML パーサー
オプションフィルタのコンフィギュレーションファイルのルートはエレメント FilterStrategy です。その唯一の属性は "handler" で、その値は XML ファイルを解析するクラスの完全修飾名であり、オブジェクト FilterStrategy のインスタンスを com.ptc.windchill.option.filter パッケージから生成します。具体的には、XML ハンドラは定義されている 1 つのメソッドを使用してインタフェース com.ptc.windchill.option.filter.FilterStrategyhandler を実装する必要があり、次の例に示すように、XML ファイルのルートエレメント FilterStrategy に渡されます。
public FilterStretegy loadfilterStrategyHandler(org.w3c.dom.Element e);
この属性を使用することで、カスタムフィルタ戦略を策定するための独自の XML フォーマットを設定できます。ただし、ほとんどの場合、既成の XML フォーマットには標準ハンドラ com.ptc.windchill.option.filter.DefaultFilterStrategyHandler を使用すれば十分です。標準ハンドラは以下のように定義されています。
com.ptc.windchill.option.filter.DefaultFilterStrategyhandler
標準 XML コンフィギュレーションファイルのフォーマット
ルートエレメント FilterStrategy は、特定のタイプのオブジェクトの定義式評価ポリシーが含まれている FilterNode から構成されます。
FilterNode エレメントには、フィルタプロセスに関連するナビゲーションユニットノードオブジェクトの特徴を完全に表す次の属性があります。
属性
定義と値
type
フィルタ可能オブジェクトまたはサポートされているオブジェクトのタイプまたはクラスタイプ。
parentType
フィルタ可能オブジェクトの親オブジェクトのタイプまたはクラスタイプ。
childType
フィルタ可能オブジェクトの解決済み子オブジェクトのタイプまたはクラスタイプ。
たとえば、一般的には、フィルタ可能オブジェクトは WTPartUsageLink のインスタンスです。その親オブジェクトは親子リンクの親 WTPart であり、その子オブジェクトは親子リンクの子 WTPartMaster の解決済み WTPart です。"FilterNode" エレメントの 3 つの属性のうち少なくとも 1 つを指定する必要があります。これらのフィルタノードは XML ファイルで指定されている順序でノードオブジェクトと照合され、最初に一致したポリシーが返ります。
定義式のポリシー
FilterNode エレメントには、基本/アドバンス ExpressionPolicy サブエレメントが 1 つまたは 2 つ必要です。
ExpressionPolicy エレメントには、次の表に示すように、そのポリシーを基本定義式と高度な定義式のどちらに適用するかを指定する属性と、構造ノードのフィルタ条件を高度な定義式の有無とその値に基づいて定義する属性があります。
属性
定義と値
advanced
ポリシーを高度な定義式 (値が TRUE の場合) と基本定義式 (値が FALSE の場合) のどちらに適用するかを指定します。
mode
ノードを除外する条件のリスト。次の 1 つ以上の定数がリストされます。
定数
説明
STANDARD
定義式の値が FALSE の場合にノードを除外します。
UNDEFINED
定義式の値が UNDEFINED の場合にノードを除外します。
基本定義式のモード属性
基本定義式のモード属性は次のとおりです。
属性
定義と値
STANDARD
選択肢 (基本定義式) の標準フィルタは、高度な定義式に基づくフィルタとは異なります。選択肢に基づくアルゴリズムでは、フィルタ可能オブジェクト (親子リンク) と終了ノード (子部品) オブジェクトに割り当てられている選択肢が組み合わされ、1 つのセットとして、フィルタでのユーザー選択のセットと照合されます。
UNDEFINED
選択肢がオブジェクトに割り当てられているオプションのセットの場合、ユーザー選択がないセットのオプションがフィルタに含まれている場合にのみ、このモードは UNDEFINED になります。