Class ESIAbstractStructureRenderer

All Implemented Interfaces:
ESIRenderer
Direct Known Subclasses:
AbstractResourceRenderer, ESIBOMRenderer

public abstract class ESIAbstractStructureRenderer extends ESIAbstractEDRenderer
Renders the output of AbstractStructureRender in ESI response.

Supported API: true

Extendable: false
  • Method Details

    • getWcAdapter

      @Deprecated protected String getWcAdapter()
      Deprecated.
      Use BasicESIRenderer.getAdapterName() instead.

      Supported API: true
      Returns the value of the attribute adapterName. This attribute holds the name of the Windchill Adapter instance where the Query-Objects webject is to be executed.
      Returns:
      The value stored in the field adapterName.
    • getRootPart

      protected WTPart getRootPart() throws ESIRendererException
      Gets the value of the attribute: rootPart; If the part being rendered is part of a tree of product structures, this attribute contains the top of the tree.

      Supported API: true
      Returns:
      WTPart
      Throws:
      ESIRendererException
    • getObid

      protected String getObid()
      Gets the value of the attribute: obid; The UFID of the Windchill assembly part to be rendered.

      Supported API: true
      Returns:
      String
    • isDocuments

      protected boolean isDocuments()
      Gets the value of the attribute: documents; Are documents to be included in the output?

      Supported API: true
      Returns:
      boolean
    • isReferenceDesignators

      protected boolean isReferenceDesignators()
      Gets the value of the attribute: referenceDesignators; Are reference designators to be included in the output?

      Supported API: true
      Returns:
      boolean
    • isLineNumbers

      protected boolean isLineNumbers()
      Gets the value of the attribute: lineNumbers; Are line numbers to be included in the output?

      Supported API: true
      Returns:
      boolean
    • getMultiLevel

      protected int getMultiLevel()
      Gets the value of the attribute: multilevel; How many levels are we to traverse when extracting multi-level BOMs?

      Supported API: true
      Returns:
      int
    • isDelta

      protected boolean isDelta()
      Gets the value of the attribute: delta; Should the output contain only items that have changed since the last time an object was released?

      Supported API: true
      Returns:
      boolean
    • applyBussinessRuleSetToAssemlyNodes

      protected Set<WTPart> applyBussinessRuleSetToAssemlyNodes(Set<WTPart> assemblyNodes) throws WTException
      Method applies business rules to assembly node and returns the set of object after bussiness rules were applied.
      OOTB implementation applies business rule that removes non production node from assembly node set to render them as BOM and render non production node as parts. Calls API filterNonProductionAssemblyNodes(Set) which filters out non production node if businesss rule satisfies to qualify non production node in input set.

      Supported API: true
      Parameters:
      assemblyNodes - - Set of parts which are assembly nodes i.e. parts having children.
      Throws:
      ESIRendererException
      WTException
    • filterNonProductionAssemblyNodes

      protected Set<WTPart> filterNonProductionAssemblyNodes(Set<WTPart> assemblyNodes) throws ESIRendererException
      Method removes all the nodes which satisfies the bussiness rule to publish assembly node as part node i.e. non assembly node. Filter the bom header i.e. assembly nodes based on bussiness rule. If the bussiness rule is valid for a assembly node, then render it as a part and not as BOM

      Supported API: true
      Parameters:
      assemblyNodes - - Set of parts which are assembly nodes i.e. parts having children.
      Returns:
      - The filtered set of nodes i.e WTPart to be rendered as BOM.
      Throws:
      ESIRendererException