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. See section
BasicESIRenderer for more information on
BasicESIRenderer.
ESIAbstractStructureRenderer
Has a common set of APIs that are needed for rendering a Part Structure.
Refer to the Windchill release specific Java documentation for more details on available methods in the class
ESIBOMRenderer
This class extends the abstract base class ESIAbstractStructureRenderer, 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 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 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 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 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 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 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.
BOM Tree Navigator
com.ptc.windchill.esi.treenavigation.TreeNavigatorImpl instead for navigating a multilevel assembly. See 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 methods in the class
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 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 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.
Refer to the Windchill release specific Java documentation for more details on available attributes and methods in the class.
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.