wt.part
Class StandardWTPartService

java.lang.Object
  extended by wt.services.StandardManager
      extended by wt.part.StandardWTPartService
All Implemented Interfaces:
Serializable, NetFactor, WTPartService, wt.services.applicationcontext.ApplicationContextChild, wt.services.Manager

public class StandardWTPartService
extends StandardManager
implements WTPartService, wt.services.applicationcontext.ApplicationContextChild, Serializable

This implementation of WTPartService implements the service API and adds listeners in performStartupProcess().

Use the newStandardWTPartService static factory method(s), not the StandardWTPartService constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: true

See Also:
Serialized Form

Method Summary
 void assignView(WTPart part, String a_view)
          Assign View

Supported API: true
 WTSet filterPartsWithChildren(WTCollection parts)
          Return a WTSet of the part objects passed in that play the used-by role in a WTPartUsageLink; that is, this method returns those parts that use other parts.
 WTPartConfigSpec findWTPartConfigSpec()
          Returns the WTPartConfigSpec for the current principal.
 QueryResult getAlternateForWTPartMasters(WTPartMaster partMaster)
          Navigates WTPartAlternateLinks along the Alternate For role.
 QueryResult getAlternatesWTPartMasters(WTPartMaster partMaster)
          Navigates WTPartAlternateLinks along the Alternates role.
 QueryResult getDescribedByDocuments(WTPart part)
          Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by.
 QueryResult getDescribedByDocuments(WTPart part, boolean onlyOtherSides)
          Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by.
 QueryResult getDescribedByWTDocuments(WTPart part)
          Return a QueryResult of WTDocuments that the given WTPart is being described by.
 QueryResult getDescribedByWTDocuments(WTPart part, boolean onlyOtherSides)
          Return a QueryResult of WTDocuments that the given WTPart is being described by.
 QueryResult getDescribesWTParts(WTDocument document)
          Return a QueryResult of WTParts that the given WTDocument describes.
 QueryResult getDescribesWTParts(WTDocument document, boolean onlyOtherSides)
          Return a QueryResult of WTParts that the given WTDocument describes.
 Timestamp getExportDate(WTPart part, PartExportTarget target)
          Get the date when this part iteration was exported to another system - for example, an ERP system.
 void getMultilevelBomCompare(WTPartMaster part1, ConfigSpec spec1, WTPartMaster part2, ConfigSpec spec2, int maxDepth, MultilevelBomCompareVisitor aVisitor)
          Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions.
 void getMultilevelBomCompare(WTPartMaster part1, WTPartConfigSpec spec1, WTPartMaster part2, WTPartConfigSpec spec2, int maxDepth, MultilevelBomCompareVisitor aVisitor)
          Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions.
 void getMultilevelWhereUsed(WTPart part, wt.visitor.Navigator navigator, MultilevelWhereUsedVisitor visitor)
          Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions.
 void getMultilevelWhereUsed(WTPart part, WTPartConfigSpec spec, wt.visitor.Navigator navigator, MultilevelWhereUsedVisitor visitor)
          Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions.
 PartUsesOccurrence getPartUsesOccurrence(PartPathOccurrence usedByPathOccurrence, WTProductConfiguration configuration)
          Returns the PartUsesOccurrence associated with the given PartPathOccurence for the as used in the given WTProductConfiguration.
 QueryResult getReferencesWTDocumentMasters(WTPart part)
          Returns the WTDocumentMasters that are referenced by this WTPart.
 QueryResult getSubstituteForWTPartUsageLinks(WTPartMaster partMaster)
          Navigates WTPartSubstituteLinks along the SubstituteFor role.
 QueryResult getSubstitutesWTPartMasters(WTPartUsageLink usageLink)
          Navigates WTPartSubstituteLinks along the Substitutes role.
 QueryResult getUsedByWTParts(WTPartMaster partMaster)
          Navigates the WTPartUsageLink along the usedBy role, returning a QueryResult of WTParts.
 QueryResult getUsesWTPartMasters(WTPart part)
          Navigates the WTPartUsageLink along the uses role, returning a QueryResult of WTPartUsageLinks.
 Persistable[][][] getUsesWTParts(WTList parts, ConfigSpec configSpec)
          Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts.
 QueryResult getUsesWTParts(WTPart part, ConfigSpec configSpec)
          Applies the configSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at the 0th position and the corresponding iterations (or master if there is no corresponding iteration) in the 1th position.
 QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, ConfigSpec configSpec)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, ConfigSpec configSpec, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, WTProductConfiguration productConfiguration, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithAllOccurrences(WTPart part, WTProductInstance2 productInstance, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, ConfigSpec configSpec)
          Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts.
 Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, WTProductConfiguration productConfiguration)
          Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts.
 Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts, List pathOccurrences, WTProductInstance2 productInstance)
          Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts.
 QueryResult getUsesWTPartsWithOccurrences(WTPart part, ConfigSpec configSpec)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithOccurrences(WTPart part, ConfigSpec configSpec, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithOccurrences(WTPart part, WTProductConfiguration productConfiguration, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 QueryResult getUsesWTPartsWithOccurrences(WTPart part, WTProductInstance2 productInstance, PartPathOccurrence subPathOccurrence)
          This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.
 boolean isAnAlternateOf(WTPartMaster partMasterA, WTPartMaster partMasterB)
          Determines if argument A is an alternate of argument B

Supported API: true
 boolean isViewUpdateable(WTPartMaster partMaster, View oldView, View newView)
          Check if view is assignable for give WTPartMaster

Supported API: true
 WTPart latestExport(WTPartMaster master, PartExportTarget target)
          Returns the most recently iteration of a part master that was exported to another system - for example, an ERP System.
 WTPartMaster publish(WTPart part)
          Publish the IBA values on the given part to the part master.
 WTPartConfigSpec saveWTPartConfigSpec(WTPartConfigSpec a_PartConfigSpec)
          Saves the WTPartConfigSpec for the current principal.
 Timestamp setExportDate(WTPart part, PartExportTarget target, Timestamp timestamp)
          Set the date that this part iteration was exported to another system - for example, an ERP system.
 
Methods inherited from class wt.services.StandardManager
getManagerService, getManagerStatus, getName, getStartupType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

publish

public WTPartMaster publish(WTPart part)
                     throws WTException
Publish the IBA values on the given part to the part master.

Supported API: true

Specified by:
publish in interface WTPartService
Parameters:
part -
Returns:
WTPartMaster
Throws:
WTException

getUsesWTParts

public QueryResult getUsesWTParts(WTPart part,
                                  ConfigSpec configSpec)
                           throws WTException
Applies the configSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at the 0th position and the corresponding iterations (or master if there is no corresponding iteration) in the 1th position.

Supported API: true

Specified by:
getUsesWTParts in interface WTPartService
Parameters:
part - The WTPart to navigate.
configSpec - The ConfigSpec to use to filter the iterations for the masters used.
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartUsageLink, WTPart, WTPartMaster, Persistable

getUsesWTParts

public Persistable[][][] getUsesWTParts(WTList parts,
                                        ConfigSpec configSpec)
                                 throws WTException
Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part.

Supported API: true

Specified by:
getUsesWTParts in interface WTPartService
Parameters:
parts - Ordered list of used-by parts.
configSpec - The config spec to use to select the uses part iterations.
Returns:
Persistable[][][]
Throws:
WTException

getUsesWTPartsWithOccurrences

public Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts,
                                                       List pathOccurrences,
                                                       ConfigSpec configSpec)
                                                throws WTException
Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
parts - Ordered list of used-by parts.
pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
configSpec - The config spec to use to select the uses part iterations.
Returns:
Persistable[][][]
Throws:
WTException

getUsesWTPartsWithOccurrences

public Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts,
                                                       List pathOccurrences,
                                                       WTProductConfiguration productConfiguration)
                                                throws WTException
Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
parts - Ordered list of used-by parts.
pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
productConfiguration - The product configuration being navigated. This is used as the config spec and to get the path occurrence data.
Returns:
Persistable[][][]
Throws:
WTException

getUsesWTPartsWithOccurrences

public Persistable[][][] getUsesWTPartsWithOccurrences(WTList parts,
                                                       List pathOccurrences,
                                                       WTProductInstance2 productInstance)
                                                throws WTException
Navigates from many used-by parts to their uses part masters and applies a ConfigSpec to select the iterations of the uses parts. Also includes uses and path occurrences along with path occurrence data. The parameters parts and pathOccurrences are parallel lists where the part and its corresponding path occurrence are at the same index in the two lists. If a part does not have a path occurrence, then its path occurrence should be null in the list of path occurrences. This method returns a three dimensional array of Persistable where the first dimension is corresponds the the used-by parts passed in. The second dimension corresponds to the part usage links from the used-by part. The third dimension is two elements long where [0] is the WTPartUsageLink and [2] is the uses WTPart or WTPartMaster if the config spec did not select an iteration of the uses part.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
parts - Ordered list of used-by parts.
pathOccurrences - Ordered list of path occurrences whose order corresponds to the order of the parts.
productInstance - The product instance being navigated. This is used as the config spec and to get the path occurrence data.
Returns:
Persistable[][][]
Throws:
WTException

getUsesWTPartsWithOccurrences

public QueryResult getUsesWTPartsWithOccurrences(WTPart part,
                                                 ConfigSpec configSpec)
                                          throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
configSpec - The ConfigSpec to use to filter the iterations for the masters used.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithOccurrences

public QueryResult getUsesWTPartsWithOccurrences(WTPart part,
                                                 ConfigSpec configSpec,
                                                 PartPathOccurrence subPathOccurrence)
                                          throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
configSpec - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithOccurrences

public QueryResult getUsesWTPartsWithOccurrences(WTPart part,
                                                 WTProductConfiguration productConfiguration,
                                                 PartPathOccurrence subPathOccurrence)
                                          throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
productConfiguration - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithOccurrences

public QueryResult getUsesWTPartsWithOccurrences(WTPart part,
                                                 WTProductInstance2 productInstance,
                                                 PartPathOccurrence subPathOccurrence)
                                          throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
productInstance - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithAllOccurrences

public QueryResult getUsesWTPartsWithAllOccurrences(WTPart part,
                                                    ConfigSpec configSpec)
                                             throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithAllOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
configSpec - The ConfigSpec to use to filter the iterations for the masters used.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithAllOccurrences

public QueryResult getUsesWTPartsWithAllOccurrences(WTPart part,
                                                    ConfigSpec configSpec,
                                                    PartPathOccurrence subPathOccurrence)
                                             throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithAllOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
configSpec - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithAllOccurrences

public QueryResult getUsesWTPartsWithAllOccurrences(WTPart part,
                                                    WTProductConfiguration productConfiguration,
                                                    PartPathOccurrence subPathOccurrence)
                                             throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithAllOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
productConfiguration - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartsWithAllOccurrences

public QueryResult getUsesWTPartsWithAllOccurrences(WTPart part,
                                                    WTProductInstance2 productInstance,
                                                    PartPathOccurrence subPathOccurrence)
                                             throws WTException
This method applies the ConfigSpec to the result of navigating the WTPartUsageLink along the uses role; returns a QueryResult of Persistable[], in which the WTPartUsageLinks are at position 0 (and their occurrenceVector is populated with occurrences), the corresponding WTParts (or WTPartMasters if there is no corresponding part) in position 1.

Supported API: true

Specified by:
getUsesWTPartsWithAllOccurrences in interface WTPartService
Parameters:
part - The WTPart to navigate.
productInstance - The ConfigSpec to use to filter the iterations for the masters used.
subPathOccurrence - An array of UsesOccurrence objects that is used to find the relevant PathOccurrence objects that should be returned.
Returns:
QueryResult
Throws:
WTException

getUsesWTPartMasters

public QueryResult getUsesWTPartMasters(WTPart part)
                                 throws WTException
Navigates the WTPartUsageLink along the uses role, returning a QueryResult of WTPartUsageLinks.

Supported API: true

Specified by:
getUsesWTPartMasters in interface WTPartService
Parameters:
part - The part to navigate.
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartUsageLink, WTPartMaster

filterPartsWithChildren

public WTSet filterPartsWithChildren(WTCollection parts)
                              throws WTException
Return a WTSet of the part objects passed in that play the used-by role in a WTPartUsageLink; that is, this method returns those parts that use other parts.

Supported API: true

Specified by:
filterPartsWithChildren in interface WTPartService
Parameters:
parts - The colllection of WTParts to check which ones use other parts.
Returns:
WTSet
Throws:
WTException

getPartUsesOccurrence

public PartUsesOccurrence getPartUsesOccurrence(PartPathOccurrence usedByPathOccurrence,
                                                WTProductConfiguration configuration)
                                         throws WTException
Returns the PartUsesOccurrence associated with the given PartPathOccurence for the as used in the given WTProductConfiguration.

Supported API: true

Specified by:
getPartUsesOccurrence in interface WTPartService
Parameters:
usedByPathOccurrence -
configuration -
Returns:
PartUsesOccurrence
Throws:
WTException

getUsedByWTParts

public QueryResult getUsedByWTParts(WTPartMaster partMaster)
                             throws WTException
Navigates the WTPartUsageLink along the usedBy role, returning a QueryResult of WTParts. Note that only the latest iteration for any of the part versions is returned.

Supported API: true

Specified by:
getUsedByWTParts in interface WTPartService
Parameters:
partMaster - The part master to navigate to find those parts that use it.
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartUsageLink, WTPart

getReferencesWTDocumentMasters

public QueryResult getReferencesWTDocumentMasters(WTPart part)
                                           throws WTException
Returns the WTDocumentMasters that are referenced by this WTPart.

Supported API: true

Specified by:
getReferencesWTDocumentMasters in interface WTPartService
Parameters:
part - The part to get the referenced documents for.
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartReferenceLink, WTDocumentMaster

getDescribedByDocuments

public QueryResult getDescribedByDocuments(WTPart part)
                                    throws WTException
Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by.

Supported API: true

Specified by:
getDescribedByDocuments in interface WTPartService
Parameters:
part -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument, EPMDescribeLink, wt.emp.EPMDocument

getDescribedByDocuments

public QueryResult getDescribedByDocuments(WTPart part,
                                           boolean onlyOtherSides)
                                    throws WTException
Return a QueryResult of Documents (WTDocuments AND EPMDocuments) that the given WTPart is being described by. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPart DescribeLinks that have references to the Documents.

Supported API: true

Specified by:
getDescribedByDocuments in interface WTPartService
Parameters:
part -
onlyOtherSides -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument, EPMDescribeLink, wt.emp.EPMDocument

getDescribedByWTDocuments

public QueryResult getDescribedByWTDocuments(WTPart part)
                                      throws WTException
Return a QueryResult of WTDocuments that the given WTPart is being described by.

Supported API: true

Specified by:
getDescribedByWTDocuments in interface WTPartService
Parameters:
part -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument

getDescribedByWTDocuments

public QueryResult getDescribedByWTDocuments(WTPart part,
                                             boolean onlyOtherSides)
                                      throws WTException
Return a QueryResult of WTDocuments that the given WTPart is being described by. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPart DescribeLinks that have references to the WTDocuments.

Supported API: true

Specified by:
getDescribedByWTDocuments in interface WTPartService
Parameters:
part -
onlyOtherSides -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument

getDescribesWTParts

public QueryResult getDescribesWTParts(WTDocument document)
                                throws WTException
Return a QueryResult of WTParts that the given WTDocument describes.

Supported API: true

Specified by:
getDescribesWTParts in interface WTPartService
Parameters:
document -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument

getDescribesWTParts

public QueryResult getDescribesWTParts(WTDocument document,
                                       boolean onlyOtherSides)
                                throws WTException
Return a QueryResult of WTParts that the given WTDocument describes. If the onlyOtherSides parameter is false, the QueryResult includes a set of WTPartDescribeLinks that have references to the WTParts.

Supported API: true

Specified by:
getDescribesWTParts in interface WTPartService
Parameters:
document -
onlyOtherSides -
Returns:
QueryResult
Throws:
WTException
See Also:
WTPartDescribeLink, WTPart, WTDocument

getAlternatesWTPartMasters

public QueryResult getAlternatesWTPartMasters(WTPartMaster partMaster)
                                       throws WTException
Navigates WTPartAlternateLinks along the Alternates role.

Supported API: true

Specified by:
getAlternatesWTPartMasters in interface WTPartService
Parameters:
partMaster - WTPartMaster whose alternates are desired
Returns:
QueryResult of alternate WTPartMasters
Throws:
WTException
See Also:
WTPartAlternateLink, WTPartMaster

getAlternateForWTPartMasters

public QueryResult getAlternateForWTPartMasters(WTPartMaster partMaster)
                                         throws WTException
Navigates WTPartAlternateLinks along the Alternate For role.

Supported API: true

Specified by:
getAlternateForWTPartMasters in interface WTPartService
Parameters:
partMaster -
Returns:
QueryResult of WTPartMasters for which partMaster is an alternate
Throws:
WTException
See Also:
WTPartAlternateLink, WTPartMaster

isAnAlternateOf

public boolean isAnAlternateOf(WTPartMaster partMasterA,
                               WTPartMaster partMasterB)
                        throws WTException
Determines if argument A is an alternate of argument B

Supported API: true

Specified by:
isAnAlternateOf in interface WTPartService
Parameters:
partMasterA -
partMasterB -
Returns:
true if argument A is an alternate of argument B; false otherwise
Throws:
WTException

getSubstitutesWTPartMasters

public QueryResult getSubstitutesWTPartMasters(WTPartUsageLink usageLink)
                                        throws WTException
Navigates WTPartSubstituteLinks along the Substitutes role.

Supported API: true

Specified by:
getSubstitutesWTPartMasters in interface WTPartService
Parameters:
usageLink - WTPartUsageLink for which substitutes are desired
Returns:
QueryResult of substitute WTPartMasters
Throws:
WTException
See Also:
WTPartSubstituteLink, WTPartMaster

getSubstituteForWTPartUsageLinks

public QueryResult getSubstituteForWTPartUsageLinks(WTPartMaster partMaster)
                                             throws WTException
Navigates WTPartSubstituteLinks along the SubstituteFor role.

Supported API: true

Specified by:
getSubstituteForWTPartUsageLinks in interface WTPartService
Parameters:
partMaster -
Returns:
QueryResult of WTPartUsageLinks for which partMaster is a substitute part
Throws:
WTException
See Also:
WTPartSubstituteLink, WTPartMaster

findWTPartConfigSpec

public WTPartConfigSpec findWTPartConfigSpec()
                                      throws WTException
Returns the WTPartConfigSpec for the current principal. If one does not exist, a null value is returned.

Supported API: true

Specified by:
findWTPartConfigSpec in interface WTPartService
Returns:
WTPartConfigSpec
Throws:
WTException

saveWTPartConfigSpec

public WTPartConfigSpec saveWTPartConfigSpec(WTPartConfigSpec a_PartConfigSpec)
                                      throws WTException
Saves the WTPartConfigSpec for the current principal. If one already exists, it is modified by applying the current values. If the supplied value is null and the current principal has a stored config spec, it is deleted.

Supported API: true

Specified by:
saveWTPartConfigSpec in interface WTPartService
Parameters:
a_PartConfigSpec - The WTPartConfigSpec to save.
Returns:
WTPartConfigSpec
Throws:
WTException

setExportDate

public Timestamp setExportDate(WTPart part,
                               PartExportTarget target,
                               Timestamp timestamp)
                        throws WTException
Set the date that this part iteration was exported to another system - for example, an ERP system. It returns the updated WTPart.

Supported API: true

Specified by:
setExportDate in interface WTPartService
Parameters:
part - The part iteration being exported to another system.
target - The name of the target where the part was exported.
timestamp - A timestamp specifying when the part was exported to another system. If null, the export date is set to the current time and date.
Returns:
Timestamp
Throws:
WTException

getExportDate

public Timestamp getExportDate(WTPart part,
                               PartExportTarget target)
                        throws WTException
Get the date when this part iteration was exported to another system - for example, an ERP system. Returns null if version had never been exported to the given system.

Supported API: true

Specified by:
getExportDate in interface WTPartService
Parameters:
part - The part iteration that was exported to another system.
target - The name of the target where the part had been exported.
Returns:
Timestamp
Throws:
WTException

latestExport

public WTPart latestExport(WTPartMaster master,
                           PartExportTarget target)
                    throws WTException
Returns the most recently iteration of a part master that was exported to another system - for example, an ERP System. Returns null if no iterations were ever exported to the given system.

Supported API: true

Specified by:
latestExport in interface WTPartService
Parameters:
master - The part master.
target - The name of the target where the part had been exported.
Returns:
WTPart
Throws:
WTException

getMultilevelBomCompare

public void getMultilevelBomCompare(WTPartMaster part1,
                                    WTPartConfigSpec spec1,
                                    WTPartMaster part2,
                                    WTPartConfigSpec spec2,
                                    int maxDepth,
                                    MultilevelBomCompareVisitor aVisitor)
                             throws WTException,
                                    SAXException
Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. This method delegates much of its responsibility to getMultilevelBomDifferences. For customization this method uses a MultilevelBomCompareVisitor.

Supported API: true

Specified by:
getMultilevelBomCompare in interface WTPartService
Parameters:
part1 - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
spec1 - The config spec being used to navigate the part structure of part1.
part2 - The second part being compared. It will be compared to part1 using spec2 to navigate its part structure.
spec2 - The config spec being used to navigate the part structure of part2.
maxDepth - The maximum number of levels down in the part structure to navigate as the comparison is done.
aVisitor - The visitor used to navigate the two product structures that are being compared. Customization of the data available for the report can be done by passing different visitors. MultilevelBomCompareVisitor is the reference implementation supplied out-of-the-box.
Throws:
WTException
SAXException
See Also:
MultilevelBomCompareVisitor

getMultilevelBomCompare

public void getMultilevelBomCompare(WTPartMaster part1,
                                    ConfigSpec spec1,
                                    WTPartMaster part2,
                                    ConfigSpec spec2,
                                    int maxDepth,
                                    MultilevelBomCompareVisitor aVisitor)
                             throws WTException,
                                    SAXException
Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. This method delegates much of its responsibility to getMultilevelBomDifferences. For customization this method uses a MultilevelBomCompareVisitor.

Supported API: true

Specified by:
getMultilevelBomCompare in interface WTPartService
Parameters:
part1 - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
spec1 - The config spec being used to navigate the part structure of part1.
part2 - The second part being compared. It will be compared to part1 using spec2 to navigate its part structure.
spec2 - The config spec being used to navigate the part structure of part2.
maxDepth - The maximum number of levels down in the part structure to navigate as the comparison is done.
aVisitor - The visitor used to navigate the two product structures that are being compared. Customization of the data available for the report can be done by passing different visitors. MultilevelBomCompareVisitor is the reference implementation supplied out-of-the-box.
Throws:
WTException
SAXException

getMultilevelWhereUsed

public void getMultilevelWhereUsed(WTPart part,
                                   WTPartConfigSpec spec,
                                   wt.visitor.Navigator navigator,
                                   MultilevelWhereUsedVisitor visitor)
                            throws WTException,
                                   WTPropertyVetoException
Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. For customization this method uses a MultilevelBomCompareVisitor.

Supported API: true

Specified by:
getMultilevelWhereUsed in interface WTPartService
Parameters:
part - The part whose usage is being reported.
spec - The spec used to navigate the product structures where this part may be used.
navigator - A navigator used to traverse up the product structure.
visitor - A visitor used for each node of the product structure.
Throws:
WTException
WTPropertyVetoException
See Also:
MultilevelBomCompareVisitor

getMultilevelWhereUsed

public void getMultilevelWhereUsed(WTPart part,
                                   wt.visitor.Navigator navigator,
                                   MultilevelWhereUsedVisitor visitor)
                            throws WTException,
                                   WTPropertyVetoException
Recursively compares parts used by part1 and part2 using config specs 1 and 2 to select the part versions. The comparison will only go maxDepth levels deep. The result is a string of XML showing the differences and any product structure needed to show where the differences occurred. For customization this method uses a MultilevelBomCompareVisitor.

Supported API: true

Specified by:
getMultilevelWhereUsed in interface WTPartService
Parameters:
part - The part whose usage is being reported.
navigator - A navigator used to traverse up the product structure.
visitor - A visitor used for each node of the product structure.
Throws:
WTException
WTPropertyVetoException
See Also:
MultilevelBomCompareVisitor

assignView

public void assignView(WTPart part,
                       String a_view)
                throws WTException,
                       SAXException
Assign View

Supported API: true

Specified by:
assignView in interface WTPartService
Parameters:
part - The first part being compared. It will be compared to part2 using spec1 to navigate its part structure.
a_view -
Throws:
WTException
SAXException

isViewUpdateable

public boolean isViewUpdateable(WTPartMaster partMaster,
                                View oldView,
                                View newView)
                         throws WTException
Check if view is assignable for give WTPartMaster

Supported API: true

Specified by:
isViewUpdateable in interface WTPartService
Parameters:
partMaster -
oldView -
newView -
Returns:
boolean
Throws:
WTException