Interface AssociativePath

All Superinterfaces:
BasePath, Serializable
All Known Implementing Classes:
com.ptc.windchill.associativity.AbstractAssociativePath, PartAssociativePath

public interface AssociativePath extends BasePath
A run time representation of a path. It follows the PartPathOccurrence model to represent path as recursive model, but stores more information in terms of references to the Part, usage, occurrence (optional). This is used in services around associative structure transformation

Supported API: true

Extendable: false
  • Method Details

    • getUsage

      Deprecated.
      , use getAssociativeUsage() instead
      Returns the AssociativeUsageLink between the parent and child Associative in the path model
      Supported API: true

      Specified by:
      getUsage in interface BasePath
      Returns:
      the AssociativeUsageLink
    • getAssociativeUsage

      AssociativeUsageLink getAssociativeUsage()
      Returns the AssociativeUsageLink between the parent and child Associative in the path model
      Supported API: true

      Returns:
      the AssociativeUsageLink
    • getChild

      Associative getChild()
      The child of the AssociativeUsageLink
      Supported API: true

      Specified by:
      getChild in interface BasePath
      Returns:
      the Associative
    • getOccurrence

      UsesOccurrence getOccurrence()
      returns the UsesOccurrence associated with given AssociativeUsageLink. It may return null in case no occurrence for the given usage link.
      Supported API: true

      Returns:
      the UsesOccurrence
    • getSubPath

      AssociativePath getSubPath()
      Returns the AssociativePath model containing information about parent child in the structure. In case the previous child doesn't exist i.e. we have a AssociativePath model for root then the method returns null.
      Supported API: true

      Specified by:
      getSubPath in interface BasePath
      Returns:
      the sub-path of the current associative path
    • getRoot

      Associative getRoot()
      Returns the absolute root associative in current path
      Supported API: true

      Specified by:
      getRoot in interface BasePath
      Returns:
      the root associative
    • getAllUsages

      List<AssociativeUsageLink> getAllUsages()
      Returns the list of all AssociativeUsageLink in the give AssociativePath starting from the leaf to root.

      Supported API: true
      Specified by:
      getAllUsages in interface BasePath
      Returns:
      list of AssociativeUsageLink
    • getAllAssociatives

      List<Associative> getAllAssociatives()
      Returns the list of all Associative in the give AssociativePath starting from the leaf to root.

      Supported API: true
      Returns:
      list of Associative
    • getAllAssociativesSet

      Set<Associative> getAllAssociativesSet()
      Returns the list of all Associative in the give AssociativePath starting from the leaf to root. It gives result in linkedHashSet

      Supported API: true
      Returns:
    • getAllOccurrences

      List<UsesOccurrence> getAllOccurrences()
      Returns the list of all UsesOccurrence in the give AssociativePath starting from the leaf to root. It may contain null wherever the UsesOccurrence information is not available

      Supported API: true
      Returns:
      list of UsesOccurrence
    • getDeepCopy

      AssociativePath getDeepCopy() throws WTException
      Returns the new AssociativePath which is equal to current AssociativePath path with all new references to previous path i.e. while creating the deep copy we create new instances of previous paths as well

      Supported API: true
      Specified by:
      getDeepCopy in interface BasePath
      Returns:
      the AssociativePath
      Throws:
      WTException
    • addSubPath

      void addSubPath(AssociativePath path)
      Adds the given sub-path to current path

      Supported API: true
      Parameters:
      path - the AssociativePath
    • getOccurrencePath

      String getOccurrencePath()
      Returns he occurrence path from leaf to root separated by "/"

      Supported API: true
      Returns:
      the occurrence path from leaf to root separated by "/"
    • getRootToLeafOccurrencePath

      String getRootToLeafOccurrencePath()
      Returns he occurrence path from root to leaf separated by "/"

      Supported API: true
      Returns:
      the occurrence path from root to leaf separated by "/"
    • getComponentIdPath

      String getComponentIdPath()
      Returns component id path from root to leaf seperated by '|'

      Supported API: true
      Returns:
    • getUsagePath

      String getUsagePath()


      Supported API: true
      Returns:
    • getUsagePathFromRoot

      String getUsagePathFromRoot()
      Returns component id path from root to leaf seperated by '/'

      Supported API: true
      Returns:
    • setPathToAMaster

      void setPathToAMaster(boolean isMasterPath)
      The latest iteration is stored for the child, when the path represents a master. So, the boolean isMasterPath is set, if the path is to a master

      Supported API: true
      Parameters:
      isMasterPath -
    • isPathToAMaster

      boolean isPathToAMaster()
      Returns true, if the given path is to a master object

      Supported API: true
      Returns:
    • getDeepCopyOfUsage

      AssociativePath getDeepCopyOfUsage()
      Return AssociativePath after removing occurrence info.

      Supported API: true
      Returns:
      Throws:
      WTException
    • toString

      String toString(boolean detailed)


      Supported API: true
      Specified by:
      toString in interface BasePath
      Parameters:
      detailed -
      Returns:
    • isOccurrencablePath

      boolean isOccurrencablePath()
      This checks usage unit is each at each level so this path can have occurrences at each level. For an inflated path better to use isFullyOccurrencePath() as from CAD we can have 1 occurrence for non-each unit as well but never allowed for parts directly in Windchill

      Supported API: true
      Returns:
    • getUsagePathKey

      String getUsagePathKey()


      Supported API: true
      Returns:
    • containsOrContained

      boolean containsOrContained(AssociativePath path)
      Returns true if the current instances contains the input path or vice versa

      Supported API: true
      Parameters:
      path -
      Returns:
    • isFullyOccurrencePath

      boolean isFullyOccurrencePath()
      Tells if path has occurrence at each level i.e. fully occurrence path. Does not depend on unit on usage as there is case where non-each unit can have single occurrence when coming from CAD

      Supported API: true
      Returns:
    • getAllAssociativeMasters

      List<Mastered> getAllAssociativeMasters()
      Returns the list of all Mastered in the given AssociativePath starting from the root to leaf.

      Supported API: true
      Returns:
      list of Associative
    • startsWith

      boolean startsWith(AssociativePath path)
      returns true if current path starts with the input path else false

      Supported API: true
      Parameters:
      path -
      Returns: