Distribution Target Assignment Determination Classes
Distribution target assignments can be determined either explicitly or implicitly. Explicit assignments are the persisted relationships that are maintained by ESITargetAssignmentLink objects. Implicit assignments are relationships that are inferred from some other object’s persisted relationships.
ERP Connector provides support for multiple assignment determination strategies by using ESITargetFinder objects. ERP Connector only supports one strategy at a time in any Windchill instance. The strategy is implemented by writing a java class that implements the com.ptc.windchill.esi.tgt.ESITargetFinder interface. The ESITargetUtility obtains the appropriate ESITargetFinder from the ESITargetFinderFactory. The ESITargetFinderFactory obtains the name of the implementation class from Windchill ESI preferences.
ESITargetFinderFactory
Provides one static method, newESITargetFinder(object : Persistable, utility : ESITargetUtility) : ESITargetFinder. The method obtains the name of the implementation class from Windchill ESI preferences. If the implementation class is a subclass of ESITargetFinderImpl, the method invokes setBase() and setUtility() on the finder before returning the finder.
ESITargetFinderImpl
This is an abstract base class for the out-of-the-box distribution target finders. It has an attribute, named base, of class wt.fc.Persistable. The class also has an association with an ESITargetUtility instance.
ESISimplePartTargetFinder
This class implements explicit assignment. It delegates all of its work to the ESITargetUtility class. Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIRootInheritTargetFinder
This class implements one form of implicit assignment. If the objects have no explicit distribution target assignments, they are assumed to be assigned to the same distribution targets as the base object. Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
Was this helpful?