配布ターゲットの割当の検証
配布ターゲットは部品に関連付けられる前に検証されます。検証ロジックはクラスの特定の API によって提供され、その名前は「配布ターゲット割当バリデータ」という名前の Windchill ESI プリファレンスから取得されます。既成では、このプリファレンスは com.ptc.windchill.esi.tgt.ESITargetAssignmentValidator に設定されています。
自動割当の検証
既成では、必要な検証はクラス ESITargetAssignmentValidator の API isTargetValidForAutoAssignment(obj : Persistable, target : ESITarget) で行われます。以下のいずれかの条件が満たされている場合、このメソッドは true を返します (これにより、入力ターゲットが入力部品に自動割り当て可能であることがアサートされます)。
「ビューと配布ターゲットのマッピング」プリファレンスによって指定されるターゲットのビューが部品のビューと同じである。
入力部品がどの Windchill ビューにも関連付けられていない。
入力ターゲットの番号が、「ビューと配布ターゲットのマッピング」プリファレンスの値の中に記されていない。
* 
1. API isTargetValidForAutoAssignment() は、あくまでも Windchill ビューの観点から、入力ターゲットが入力オブジェクトに自動割り当て可能であるかどうかをチェックします。たとえば、これは、ターゲットが入力オブジェクトと同じコンテキストに存在するかどうかや、ターゲットの defaultForContext 属性が true に設定されているかどうかをチェックしません。does not
2. この API は、部品に対してのみ、前述の検証を実行します。つまり、ほかのタイプのオブジェクトでは常に true を返します。
3. API isTargetValidForAutoAssignment(Persistable, ESITarget) のカスタムバージョンを提供するクラスを定義し、「配布ターゲット割当バリデータ」プリファレンスをカスタムクラスの名前に設定することで、検証をカスタマイズできます。
4. 材料オブジェクト (材料セットや連産品など) への配布ターゲットの自動割当は、自動割当の条件を満たす配布ターゲットが 1 つだけ存在する場合に行われます。つまり、2 つ以上の配布ターゲットが自動割当に有効である場合、材料オブジェクトに配布ターゲットは自動的に割り当てられません。
明示的割当の検証
既成では、必要な検証はクラス ESITargetAssignmentValidator の API isTargetValid(obj : Persistable, target : ESITarget) で行われます。以下のいずれかの条件が満たされている場合、このメソッドは true を返します (これにより、入力ターゲットが入力部品に明示的に割り当て可能であることがアサートされます)。
「ビューと配布ターゲットのマッピング」プリファレンスによって指定されるターゲットのビューが部品のビューと同じであるかその子である。
入力部品がどの Windchill ビューにも関連付けられていない。
入力ターゲットの番号が、「ビューと配布ターゲットのマッピング」プリファレンスの値の中に記されていない。
* 
1. API isTargetValid() は、あくまでも Windchill ビューの観点から、入力ターゲットが入力オブジェクトに明示的に割り当て可能であるかどうかをチェックします。たとえば、これは、ターゲットが入力オブジェクトと同じコンテキストに存在するかどうかや、ターゲットの defaultForContext 属性が true に設定されているかどうかをチェックしません。does not
2. この API は、部品に対してのみ、前述の検証を実行します。つまり、ほかのタイプのオブジェクトでは常に true を返します。
3. API isTargetValid(Persistable, ESITarget) のカスタムバージョンを提供するクラスを定義し、「配布ターゲット割当バリデータ」プリファレンスをカスタムクラスの名前に設定することで、検証をカスタマイズできます。
4. 材料オブジェクト (材料セットや連産品など) への配布ターゲットの明示的割当は、そのオブジェクトが配布ターゲットにまだ割り当てられていない場合に成功します。つまり、そのオブジェクトが配布ターゲットにすでに割り当てられている場合や、明示的割当に複数の配布ターゲットが選択されている場合、操作は失敗します。
これは役に立ちましたか?