基本的なカスタマイズ > ユーザーインタフェースのカスタマイズ > 操作の追加と UI への組み込み > Windchill クライアントアーキテクチャの操作フレームワーク > 新規操作の定義 > 操作の検証ロジックの追加
  
操作の検証ロジックの追加
新規操作の作成時に、ユーザーインタフェースでの操作の有効、無効、非表示の選択を実行するロジックがあります。このロジックを validator というクラスに書き込むことができます。操作に対する検証サービス、バリデータの記述、バリデータ登録の詳細については、UI の検証を参照してください。
属性 nonSupportedTypes および supportedTypes
supportedTypes または nonSupportedTypes を指定することで、操作フレームワークは、指定されているオブジェクトタイプに応じて、操作を有効または無効にします。このフィルタはカスタマイズされたメニューにのみ適用されます。
フィルタ supportedTypes または nonSupportedTypes は、アプリケーション開発者によって定義されたその他の検証サービスクラスの前に適用されます。つまり、これはユニバーサルフィルタです。
nonSupportedTypes 属性を使用して操作が無効になっている場合、記述されているカスタムバリデータは実行されません。
supportedTypes 属性を使用して操作が有効になっている場合、記述されているカスタムバリデータが呼び出されます。
以下に例を示します。
<objecttype name="object" class="java.lang.Object" >
<action name="reports" enabledwhensuspended="true">
<command
url="netmarkets/jsp/carambola/customization/reports/base.jsp"/>
<nonSupportedTypes
value="wt.doc.WTDocument,wt.part.WTPart"/>
</action>
</objecttype>
以下を使用することもできます。
<objecttype name="object" class="java.lang.Object" >
<action name="reports" enabledwhensuspended="true">
<command
url="netmarkets/jsp/carambola/customization/reports/base.jsp"/>
<nonSupportedTypes>
<type value="wt.doc.WTDocument" />
<type value=" wt.part.WTPart " />
</nonSupportedTypes>
</action>
</objecttype>
このフィルタをオブジェクトのサブタイプに適用するかどうかを指定できます。デフォルトで、サブタイプはこの属性を継承します。別の属性 applyToDescendants を追加することで、この機能を制御できます。
<supportedTypes>
<type value="wt.foo.Bar" applyToDescendants=”false” />
</supportedTypes>
* 
サポートされているタイプとサポートされていないタイプも xconf のプロパティを使用して追加できます。詳細については、「XConf でのサポートされているタイプとサポートされていないタイプの定義」を参照してください。
パラメータ
デフォルト値
有効な値
必須
説明
value
任意のオブジェクトタイプ。コンマを使用して区切ります。
はい
リストされているオブジェクトタイプに対する操作を有効または無効にします。
第 3 レベルのナビゲーションと行レベルの操作で操作が有効または無効になります。メニューバーとツールバーの操作についてはフィルタが行われません。
applyToDescendants
true
true
false
いいえ
継承されたサブタイプにそのタイプを適用するかどうか。true の場合、サブタイプもすべてサポートするタイプまたはサポートしないタイプになります。false の場合、指定したタイプだけがサポートするタイプまたはサポートしないタイプになります。
XConf でのサポートしないタイプとサポートするタイプの定義
nonSupportedTypes および supportedTypes フィルタは、xconf プロパティを使用して追加することもできます。typeBasedActionFilter.properties ファイルを検索するタイプベースの xconf 操作フィルタがあります。
次のフォーマットでプロパティを指定します。
<Property name="<action object>.<action name>.
<supportedTypes or nonSupportedTypes>" value="com.foo.Bar" />
例:
<Property name="annotation.annotationSets.nonSupportedTypes"
value="wt.part.WTPart" target="codebase/typeBasedActionFilter.properties"/>