BOM Classes
The following classes create the GetBOM RPC output:
BasicESIRenderer
This is the abstract class implementing the interface ESIRenderer and is extended by all the BOM renderer classes provided by ESI services.
ESIAbstractStructureRenderer
Has common set of API’s that are needed for rendering Part Structure that is BOM.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIBOMRenderer
This class extends the abstract base class BasicESIRenderer, thereby inheriting the capabilities of that class. The ESIBOMRenderer class is intended to be extended by customizers. It has several attributes that are accessible to subclasses in read-only mode. The attributes have protected getter methods. Because the renderer state is expected to be established by the setData() method, the attributes do not have setter methods.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIBOMHeaderRenderer
This class extends the abstract base class BasicESIRenderer, thereby inheriting the capabilities of that class. The ESIBOMHeaderRenderer class is intended to be extended by customizers. It has several attributes that are accessible to subclasses in read-only mode. The attributes have protected getter methods. Because the renderer state is expected to be established by the setData() method, the attributes do not have setter methods.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIBOMSubordinateRenderer
This is an abstract class that provides services to receive and access common data elements. The class must be extended to be used. It extends BasicESIRenderer and inherits the capabilities of that class. The ESIBOMSubordinateRenderer class is intended to be extended by customizers. It has several attributes that are accessible to subclasses in read-write mode.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
* 
The class ESIBOMSubordinateRenderer is extended by ESIBOMComponentRenderer, ESISubstituteRenderer and ESIReferenceDesignatorRenderer classes. These are meant for building the renderer output for BOM components, substitutes, and reference designator information respectively.
ESIBOMComponentRenderer
This is the default extension of ESIBOMSubordinateRenderer, and is meant for building the renderer output for BOM components. The class is intended to be extended by customizers.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESISubstituteRenderer
This is the default extension of ESIBOMSubordinateRenderer, and is meant for building the renderer output for substitutes associated with BOM components. The class is intended to be extended by customizers.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIReferenceDesignatorRenderer
This is the default extension of ESIBOMSubordinateRenderer, and is meant for building the renderer output for reference designator information. The class is intended to be extended by customizers.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIRendererFactory
This class serves as a common factory for instantiating ESI renderers.
getRenderer(ufid : String, selector : String) : ESIRenderer
Following is a list of renderers (that are used when publishing a BOM) that may be fetched using this method, along with the value that needs to be passed for the argument selector, in order to fetch a renderer instance of the given type:
ESIBOMRenderer – a value of “BOM” is passed for selector.
ESIBOMHeaderRenderer – a value of “BOMHEADER” is passed for selector.
ESIBOMComponentRenderer – a value of “BOMCOMPONENT” is passed for selector.
ESISubstituteRenderer – a value of “SUBSTITUTE” is passed for selector.
ESIReferenceDesignatorRenderer – a value of “REFERENCEDESIGNATOR” is passed for selector.
In all of the above cases, the UFID of the part representing the BOM is passed for the argument ufid. See section Obtaining the renderer implementation from a factory for details on the ESIRendererFactory class.
com.ptc.windchill.esi.treenavigation.TreeNavigatorImpl instead for navigating a multilevel assembly. See the section ESIPartRelationshipDelegate for a description of the class TreeNavigatorImpl.
BOMUtility
This class exposes the following publicly available method:
isBom(part : WTPart) : boolean
Returns true if the given part has any children (connected to a WTPartMaster via a WTPartUsageLink) or was ever released by Windchill ESI to any distribution target as a BOM. Otherwise returns false.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
Tree Navigation for BOM
TreeNavigatorImpl
This is the default implementation of the TreeNavigator interface for a part structure. It resides in the package com.ptc.windchill.esi.treenavigation and extends the abstract class com.ptc.windchill.esi.treenavigation.AbstractTreeNavigatorImpl. A customizer may extend this class to override the APIs defined by this and by the abstract class. See section AbstractTreeNavigatorImpl for a description of the abstract implementation of the TreeNavigator interface.
* 
This class replaces the deprecated class BOMTreeNavigatorImpl.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
BOMTreeNavigationReqBuilder
It is the default implementation of the interface com.ptc.windchill.esi.treenavigation.TreeNavigationRequestBuilder for a part structure and resides in the package com.ptc.windchill.esi.bom. It provides methods for building a TreeNavigationRequest object, which in turn is used by the TreeNavigator instance for navigating a part structure.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
ESIBOMDifferenceMangementDelegateImpl
It is the default implementation of the interface com.ptc.windchill.esi.delegate.ESIBOMDifferenceMangementDelegate for a part structure and resides in the package com.ptc.windchill.esi.delegate. It provides methods for customizing the difference calculation of BOM. This class is intended to be extended by the customizers
ESIPartRelationshipDelegate
This is a default implementation of delegate for collecting part releated object for production BOM BusinessRules execution.This is a class intended to handle wt.part.WTPart as a primary business object. The delegate will attempt to return a set of enterprise data objects based on the object type above. If the primary business object is not a valid type, then an error will be logged, and an empty set will be returned. The class is intended to be extended by customizers.
Publishing BOMs with Made From Set Objects
It is now possible to add made from set object(s) to a BOM and publish it. The raw material links below the Made from Set is sent as MadeFromObject. For each made from set object in the structure, a corresponding BOM header is published in the response with the information of its finished part. Raw material links are rendered as BOMComponent in the response but RMAlternateLink is not sent. The classes described above in the publishing BOMs section of this document are enhanced to add support for this feature. Refer to the Windchill release specific Java documentation for more details on available attributes and methods pertaining to this functionality in the above-described classes.
這是否有幫助?