wt.epm.structure
Class EPMStandardStructureService

java.lang.Object
  extended bywt.services.StandardManager
      extended bywt.epm.structure.EPMStandardStructureService
All Implemented Interfaces:
EPMSrvStructureService, EPMStructureService, Manager, NetFactor, Serializable

public class EPMStandardStructureService
extends StandardManager
implements EPMStructureService, EPMSrvStructureService, Serializable

Use the newEPMStandardStructureService static factory method(s), not the EPMStandardStructureService 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: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String ATTRIBUTE_CACHE
           
private static String CLASSNAME
           
private static int CONTAINED_DOCUMENT
           
private static int CONTAINER_DOCUMENT
           
static String COPY_IN_PROGRESS
           
private static SequencePool epmLinkIDPool
           
private static String EPMRESOURCE
           
static String MULTI_COPY_IN_PROGRESS
           
private static String RESOURCE
           
static String RESTORE_DEP_LINK_IN_PROGRESS
           
private static int STANDARD_DOCUMENT
           
 
Fields inherited from class wt.services.StandardManager
 
Fields inherited from interface wt.services.Manager
MANAGER_SERVICE, STARTUP_AUTOMATIC, STARTUP_MANUAL, STATUS_EMERGENCY_SHUTDOWN, STATUS_EMERGENCY_SHUTTING_DOWN, STATUS_SHUTDOWN, STATUS_SHUTDOWN_ERRORS, STATUS_SHUTDOWN_FAILURE, STATUS_SHUTTING_DOWN, STATUS_STARTED, STATUS_STARTED_ERRORS, STATUS_STARTING_UP, STATUS_STARTUP_FAILURE
 
Constructor Summary
EPMStandardStructureService()
           
 
Method Summary
private  void assignUniqueLinkId(WTCollection links)
           
private  void checkForCrossContainerLinks(WTCollection links, Class[] linkClasses)
           
private  void checkPermissions(WTCollection links, Class[] linkClasses)
           
private  void checkPermissionsForParamsAndFeatures(WTCollection objects)
           
private  void cleanContainedInLinksOnSBCheckin(Map sandboxToCheckedInVersionRefMap)
           
 EPMContainedIn copyContainedInLink(EPMContainedIn link, EPMDocument contains, EPMFamilyTable container)
          Within a transaction, create a new contained link link from an existing contained in link and set the ends based on the values passed in.
private  void copyForward(WTCollection newIterations, WTCollection predecessors, Relationship relationship)
           
private  void copyForwardEPMFeatureValues(WTCollection newIterations)
           
private  void copyForwardEPMParameterValues(WTCollection newIterations)
           
private  void copyForwardIBAs(WTValuedMap originalsToNew, Class linkClass)
           
private  void copyForwardLinks(WTCollection newIterations)
           
protected  void dispatchVetoableEvent(String eventType, Lockable object)
          Dispatches a LockServiceEvent that includes the event type and target (i.e., Lockable object).
 QueryResult expand(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec)
          Retrieves objects related to the given persistable object given a role, an association name and selection criteria.
 QueryResult expand(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec, boolean onlyOtherSide)
          Retrieves objects related to the given persistable object given a role, an association name and selection criteria.
 Object expand(WTCollection objects, Class linkClass, String otherSideRole, QuerySpec querySpec, NavigateResultProcessor processor)
          Navigates the links of the specified class from one set of objects to another bypassing access control.
 String getConceptualClassname()
          Deprecated.  
static long getNextEPMLinkSequence()
           
private  ObjectReference getPredecessor(Iterated iteration)
           
protected  void initialize()
          

Supported API: false
static boolean isCopyInProgress()
           
private  boolean isInActive(EPMDocument document)
           
static boolean isMultiCopyInProgress()
           
static boolean isRestoreDepLinkInProgress()
           
 QueryResult navigate(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the links of the specified class to the given role from the supplied Persistable objects.
 WTKeyedMap navigate(WTCollection objects, Class linkClass, String otherSideRole, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the links of the specified class to the given role from each Persistable in the given WTCollection using a single query.
 Object navigate(WTCollection objects, Class linkClass, String otherSideRole, QuerySpec querySpec, NavigateResultProcessor processor)
          Navigates the links of the specified class from one set of objects to another.
 QueryResult navigateBothRoles(EPMDocument document, Class linkClass)
          Navigates the both roles of the given link class.
 QueryResult navigateContainedIn(EPMDocument contained, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the CONTAINED_IN role of an EPMContainedInLink.
 QueryResult navigateContainedIn(EPMDocument contained, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigates the CONTAINED_IN role of the EPMContainedInLink and finds the appropriate iterations of the "container" EPM family table by applying the configSpec.
 WTKeyedMap navigateContainedIn(WTCollection documents, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocuments, navigates the CONTAINED_IN role of the EPMContainedIn link and returns a WTKeyedMap whose values are WTSets of EPMContainedIn links or EPMFamilyTables depending upon the value of the onlyOtherSide flag.
 QueryResult navigateContains(EPMFamilyTable container, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the CONTAINS role of an EPMContainedInLink.
 QueryResult navigateContains(EPMFamilyTable container, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Deprecated.  
 WTKeyedMap navigateContains(WTCollection familyTables, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMFamilyTables, navigates the CONTAINS role of the EPMContainedIn link and returns a WTKeyedMap whose values are WTSets of EPMContainedIn links or EPMDocuments depending upon the value of the onlyOtherSide flag.
 QueryResult navigateGeneric(EPMDocument variant, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the GENERIC role of the EPM Variant Link.
 WTKeyedMap navigateGeneric(WTCollection variants, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocuments, navigates the GENERIC role of the EPMVariantLink and returns a WTKeyedMap whose values are WTSets of EPMVariantLinks or EPMDocumentMasters depending upon the value of the onlyOtherSide flag.
 QueryResult navigateGenericToIteration(EPMDocument variant, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigates the GENERIC role of the EPMVariantLink and finds the appropriate iteration of the generic for this variant by applying the configSpec.
 WTKeyedMap navigateGenericToIteration(WTCollection variants, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          For the given WTCollection of EPMDocuments, navigates the GENERIC role of the EPMVariantLink and finds the appropriate iteration for each other-side EPMDocumentMaster by applying the config spec.
 QueryResult navigateMasterToIteration(QueryResult objects, Class linkClass, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigates the links of the specified class to Mastered objects from the supplied Persistable objects and finds the appropriate iterations for those Mastered objects by applying the configSpec.
 QueryResult navigateReferencedBy(DocumentMaster master, QuerySpec querySpec)
          Deprecated. at R6.2, please use navigateReferencedBy(EPMDocumentMaster, QuerySpec, boolean)
 QueryResult navigateReferencedBy(DocumentMaster master, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the REFERENCED_BY role of the EPMReferenceLink and returns a QueryResult of EPMReferenceLinks if the value of onlyOtherSide is "false" or EPMDocuments if the value is "true".
 WTKeyedMap navigateReferencedBy(WTCollection masters, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of DocumentMasters, navigates the REFERENCED_BY role of the EPMReferenceLink and returns a WTKeyedMap whose values are WTSets of EPMReferenceLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.
 QueryResult navigateReferences(EPMDocument document, QuerySpec querySpec)
          Deprecated. at R6.2, please use navigateReferences(EPMDocument, QuerySpec, boolean)
 QueryResult navigateReferences(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the REFERENCES role of the EPMReferenceLink, returning a QueryResult of EPMReferenceLinks if the value of onlyOtherSide is "false" or DocumentMasters if the value is "true".
 WTKeyedMap navigateReferences(WTCollection documents, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocuments, navigates the REFERENCES role of the EPMReferenceLink and returns a WTKeyedMap whose values are WTSets of EPMReferenceLinks or DocumentMasters depending upon the value of the onlyOtherSide flag.
 QueryResult navigateReferencesToIteration(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for the DocumentMasters by applying the configSpec.
 EPMRecursiveResultSet navigateReferencesToIteration(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec, int depth)
          Navigate the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for those DocumentMasters by applying the configSpec.
 QueryResult navigateReferencesToIteration(EPMDocument document, QuerySpec querySpec, ConfigSpec configSpec)
          Deprecated. at R6.2, please use navigateReferencesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec)
 EPMRecursiveResultSet navigateReferencesToIteration(EPMDocument document, QuerySpec querySpec, ConfigSpec configSpec, int depth)
          Deprecated. at R6.2, please use navigateReferencesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec, int)
 WTKeyedMap navigateReferencesToIteration(WTCollection documents, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          For the given WTCollection of EPMDocuments, navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iteration for each other-side DocumentMaster by applying the config spec.
 QueryResult navigateToIteration(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigates the links of the specified class to Iterated objects from the supplied Persistable objects and finds the appropriate Iterated objects by applying the configSpec.
 QueryResult navigateUsedBy(EPMDocumentMaster master, QuerySpec querySpec)
          Deprecated. at R6.2, please use navigateUsedBy(EPMDocumentMaster, QuerySpec, boolean)
 QueryResult navigateUsedBy(EPMDocumentMaster master, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the USED_BY role of the EPMMemberLink and returns a QueryResult of EPMMemberLinks if the value of onlyOtherSide is "false" or EPMDocuments if the value is "true".
 WTKeyedMap navigateUsedBy(WTCollection masters, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocumentMasters, navigates the USED_BY role of the EPMMemberLink and returns a WTKeyedMap whose values are WTSets of EPMMemberLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.
 QueryResult navigateUses(EPMDocument document, QuerySpec querySpec)
          Deprecated. at R6.2, please use navigateUses(EPMDocument, QuerySpec, boolean)
 QueryResult navigateUses(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the USES role of the EPMMemberLink, returning a QueryResult of EPMMemberLinks if onlyOtherSide is "false" or EPMDocumentMasters if onlyOtherSide is "true".
 WTKeyedMap navigateUses(WTCollection documents, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocuments, navigates the USES role of the EPMMemberLink and returns a WTKeyedMap whose values are WTSets of EPMMemberLinks or EPMDocumentMasters depending upon the value of the onlyOtherSide flag.
 QueryResult navigateUsesToIteration(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          Navigate the USES role of the EPMMemberLink and finds the appropriate iterations for those EPMDocumentMasters by applying the configSpec.
 EPMRecursiveResultSet navigateUsesToIteration(EPMDocument document, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec, int depth)
          Navigate the USES role of the EPMMemberLink and finds the appropriate iterations for those EPMDocumentMasters by applying the configSpec.
 QueryResult navigateUsesToIteration(EPMDocument document, QuerySpec querySpec, ConfigSpec configSpec)
          Deprecated. at R6.2, please use navigateUsesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec)
 EPMRecursiveResultSet navigateUsesToIteration(EPMDocument document, QuerySpec querySpec, ConfigSpec configSpec, int depth)
          Deprecated. at R6.2, please use navigateUsesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec, int)
 WTKeyedMap navigateUsesToIteration(WTCollection documents, QuerySpec querySpec, boolean onlyOtherSide, ConfigSpec configSpec)
          For the given WTCollection of EPMDocuments, navigates the USES role of the EPMMemberLink and finds the appropriate iteration for each other-side EPMDocumentMaster by applying the config spec.
 QueryResult navigateVariant(EPMDocumentMaster genericMaster, QuerySpec querySpec, boolean onlyOtherSide)
          Navigates the VARIANT role of the EPMVariantLink.
 WTKeyedMap navigateVariant(WTCollection masters, QuerySpec querySpec, boolean onlyOtherSide)
          For the given WTCollection of EPMDocumentMasters, navigates the VARIANT role of the EPMVariantLink and returns a WTKeyedMap whose values are WTSets of EPMVariantLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.
static EPMStandardStructureService newEPMStandardStructureService()
          Default factory for the class.
protected  void performStartupProcess()
          Overrides the startup process specific to the locking service to provide custom startup for event subscription.
private  void processNewIterationFamilyTableEvent(WTCollection documents)
           
private  void processNewVersionEvent(WTCollection newDocumentVersions)
           
private  void processPostMultiCheckoutEvent(WTValuedMap workingPairs)
           
private  void processPostMultiSBCheckinEvent(Map sandboxToCheckedInVersionRefMap)
           
private  void processPreCheckoutFamilyTableEvent(WTCollection documents)
           
private  void processPreModify(WTCollection links)
           
private  void processPreStore(WTCollection links)
           
 void registerEvents(ManagerService manager)
          Overrides the registration of all applicable locking service events with the service manager.
private static void setCopyInProgress(boolean inProgress)
           
private  void setHasIBAValuesFlag(WTCollection links)
           
private static void setMultiCopyInProgress(boolean inProgress)
           
static void setRestoreDepLinkInProgress()
           
protected  void updateBuiltFlag(WTValuedMap originalsToNew)
           
protected  void validateMasterDelete(DocumentMaster target)
           
private  void validatePreDelete(WTCollection links)
           
private  void validatePreDeleteOrPreModifyForParameterAndFeatures(WTCollection objects)
           
protected  void validatePreModify(EPMContainedIn containedInLink)
           
protected  void validatePreStore(WTCollection containedInLinks)
           
private  void validatePreStoreForParameterAndFeatures(WTCollection objects)
           
 
Methods inherited from class wt.services.StandardManager
emergencyShutdown, emergencyShutdownComplete, emergencyShuttingDown, getClassInfo, getManagerService, getManagerStatus, getName, getStartupType, init, initialize, isStarted, newStandardManager, newStandardManager, performEmergencyShutdownProcess, performShutdownProcess, setManagerService, shutdown, shutdownFailure, shutdownSuccess, shuttingDown, started, startedErrors, startingUp, startup, startupFailure, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

EPMRESOURCE

private static final String EPMRESOURCE
See Also:
Constant Field Values

ATTRIBUTE_CACHE

private static final String ATTRIBUTE_CACHE
See Also:
Constant Field Values

STANDARD_DOCUMENT

private static final int STANDARD_DOCUMENT
See Also:
Constant Field Values

CONTAINER_DOCUMENT

private static final int CONTAINER_DOCUMENT
See Also:
Constant Field Values

CONTAINED_DOCUMENT

private static final int CONTAINED_DOCUMENT
See Also:
Constant Field Values

MULTI_COPY_IN_PROGRESS

public static final String MULTI_COPY_IN_PROGRESS
See Also:
Constant Field Values

COPY_IN_PROGRESS

public static final String COPY_IN_PROGRESS
See Also:
Constant Field Values

RESTORE_DEP_LINK_IN_PROGRESS

public static final String RESTORE_DEP_LINK_IN_PROGRESS
See Also:
Constant Field Values

epmLinkIDPool

private static SequencePool epmLinkIDPool
Constructor Detail

EPMStandardStructureService

public EPMStandardStructureService()
Method Detail

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Overrides:
getConceptualClassname in class StandardManager
Returns:
String

initialize

protected void initialize()
                   throws WTException


Supported API: false

Overrides:
initialize in class StandardManager
Throws:
WTException

performStartupProcess

protected void performStartupProcess()
                              throws ManagerException
Overrides the startup process specific to the locking service to provide custom startup for event subscription. During subscription an anonymous inner class adapter is created per subscription to handle each specific event of interest.

Supported API: false

Overrides:
performStartupProcess in class StandardManager
Throws:
ManagerException

registerEvents

public void registerEvents(ManagerService manager)
Overrides the registration of all applicable locking service events with the service manager.

Supported API: false

Specified by:
registerEvents in interface Manager
Overrides:
registerEvents in class StandardManager
Parameters:
manager -

dispatchVetoableEvent

protected void dispatchVetoableEvent(String eventType,
                                     Lockable object)
                              throws WTException,
                                     WTPropertyVetoException
Dispatches a LockServiceEvent that includes the event type and target (i.e., Lockable object).

Supported API: false

Parameters:
eventType - The name of the PersistentManagerEvent type.
object - The target of the persistable operation.
Throws:
WTException
WTPropertyVetoException

newEPMStandardStructureService

public static EPMStandardStructureService newEPMStandardStructureService()
                                                                  throws WTException
Default factory for the class.

Supported API: false

Returns:
EPMStandardStructureService
Throws:
WTException

navigateUses

public QueryResult navigateUses(EPMDocument document,
                                QuerySpec querySpec)
                         throws WTException
Deprecated. at R6.2, please use navigateUses(EPMDocument, QuerySpec, boolean)

Navigates the uses role of the EPMMemberLink, returning a QueryResult of EPMDocumentMasters.

Supported API: false

Specified by:
navigateUses in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

navigateUses

public QueryResult navigateUses(EPMDocument document,
                                QuerySpec querySpec,
                                boolean onlyOtherSide)
                         throws WTException
Navigates the USES role of the EPMMemberLink, returning a QueryResult of EPMMemberLinks if onlyOtherSide is "false" or EPMDocumentMasters if onlyOtherSide is "true".

Supported API: false

Specified by:
navigateUses in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true return a QueryResult of EPMDocumentMasters otherwise return a QueryResult of EPMMemberLinks.
Returns:
QueryResult
Throws:
WTException

navigateUses

public WTKeyedMap navigateUses(WTCollection documents,
                               QuerySpec querySpec,
                               boolean onlyOtherSide)
                        throws WTException
For the given WTCollection of EPMDocuments, navigates the USES role of the EPMMemberLink and returns a WTKeyedMap whose values are WTSets of EPMMemberLinks or EPMDocumentMasters depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateUses in interface EPMStructureService
Parameters:
documents - EPMDocuments that USE other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocumentMasters. If false, the values are WTSets of EPMMemberLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateUsedBy

public QueryResult navigateUsedBy(EPMDocumentMaster master,
                                  QuerySpec querySpec)
                           throws WTException
Deprecated. at R6.2, please use navigateUsedBy(EPMDocumentMaster, QuerySpec, boolean)

Navigates the USED_BY role of the EPMMemberLink and returns a QueryResult of EPMDocuments.

Supported API: false

Specified by:
navigateUsedBy in interface EPMStructureService
Parameters:
master - The EPMDocumentMaster that the link USES.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

navigateUsedBy

public QueryResult navigateUsedBy(EPMDocumentMaster master,
                                  QuerySpec querySpec,
                                  boolean onlyOtherSide)
                           throws WTException
Navigates the USED_BY role of the EPMMemberLink and returns a QueryResult of EPMMemberLinks if the value of onlyOtherSide is "false" or EPMDocuments if the value is "true".

Supported API: false

Specified by:
navigateUsedBy in interface EPMStructureService
Parameters:
master - The EPMDocumentMaster that the link USES.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true, return a QueryResult of EPMDocuments otherwise return a QueryResult of EPMMemberLinks.
Returns:
QueryResult
Throws:
WTException

navigateUsedBy

public WTKeyedMap navigateUsedBy(WTCollection masters,
                                 QuerySpec querySpec,
                                 boolean onlyOtherSide)
                          throws WTException
For the given WTCollection of EPMDocumentMasters, navigates the USED_BY role of the EPMMemberLink and returns a WTKeyedMap whose values are WTSets of EPMMemberLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateUsedBy in interface EPMStructureService
Parameters:
masters - EPMDocumentMasters that are USED_BY other EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocuments. If false, the values are WTSets of EPMMemberLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateUsesToIteration

public QueryResult navigateUsesToIteration(EPMDocument document,
                                           QuerySpec querySpec,
                                           ConfigSpec configSpec)
                                    throws WTException,
                                           ConfigException
Deprecated. at R6.2, please use navigateUsesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec)

Navigates the USES role of the EPMMemberLink and finds the appropriate iterations for the EPMDocumentMasters by applying the configSpec. Returns a QueryResult of those EPMDocuments that match as well as EPMDocumentMasters for which there were no matching iterations.

Supported API: false

Specified by:
navigateUsesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateUsesToIteration

public QueryResult navigateUsesToIteration(EPMDocument document,
                                           QuerySpec querySpec,
                                           boolean onlyOtherSide,
                                           ConfigSpec configSpec)
                                    throws WTException,
                                           ConfigException
Navigate the USES role of the EPMMemberLink and finds the appropriate iterations for those EPMDocumentMasters by applying the configSpec.

If onlyOtherSide is "true", this method returns a QueryResult of EPMDocuments and EPMDocumentMasters. An EPMDocumentMaster is returned when none of its iterations match the configSpec criteria.

If onlyOtherSide is "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMMemberLink and the 1th position is the matching EPMDocument or EPMDocumentMaster when none of its iterations match the configSpec criteria.

Supported API: false

Specified by:
navigateUsesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of EPMDocuments and EPMDocumentMasters. An EPMDocumentMaster is returned when none of its iteration match the ConfigSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMMemberLink and the 1th position is the matching EPMDocument or EPMDocumentMaster.
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateUsesToIteration

public WTKeyedMap navigateUsesToIteration(WTCollection documents,
                                          QuerySpec querySpec,
                                          boolean onlyOtherSide,
                                          ConfigSpec configSpec)
                                   throws WTException
For the given WTCollection of EPMDocuments, navigates the USES role of the EPMMemberLink and finds the appropriate iteration for each other-side EPMDocumentMaster by applying the config spec.

This method returns a WTKeyedMap. If onlyOtherSide is "true", the values are WTSets of EPMDocuments and possibly EPMDocumentMasters. If onlyOtherSide is "false", the values are Lists of two-element Persistable arrays where the first element is an EPMMemberLink and the second element is either an EPMDocument or possibly an EPMDocumentMaster. An EPMDocumentMaster is returned when none of its iterations match the config spec criteria.

Supported API: false

Specified by:
navigateUsesToIteration in interface EPMStructureService
Parameters:
documents - EPMDocuments that USE other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the config spec selected iterations of the other-side EPMDocumentMasters or the EPMMemberLinks paired with the selected iterations . If true, the values of the WTKeyedMap are WTSets of EPMDocuments. If false, the values are Lists of two-element Persistable arrays.
configSpec - config spec that selects the appropriate iteration of each other-side master
Returns:
WTKeyedMap
Throws:
WTException

navigateReferences

public QueryResult navigateReferences(EPMDocument document,
                                      QuerySpec querySpec)
                               throws WTException
Deprecated. at R6.2, please use navigateReferences(EPMDocument, QuerySpec, boolean)

Navigates the REFERENCES role of the EPMReferenceLink, returning a QueryResult of DocumentMasters.

Supported API: false

Specified by:
navigateReferences in interface EPMStructureService
Parameters:
document - The document REFERENCED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

navigateReferences

public QueryResult navigateReferences(EPMDocument document,
                                      QuerySpec querySpec,
                                      boolean onlyOtherSide)
                               throws WTException
Navigates the REFERENCES role of the EPMReferenceLink, returning a QueryResult of EPMReferenceLinks if the value of onlyOtherSide is "false" or DocumentMasters if the value is "true".

Supported API: false

Specified by:
navigateReferences in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true return a QueryResult of DocumentMasters otherwise return a QueryResult of EPMReferenceLinks.
Returns:
QueryResult
Throws:
WTException

navigateReferences

public WTKeyedMap navigateReferences(WTCollection documents,
                                     QuerySpec querySpec,
                                     boolean onlyOtherSide)
                              throws WTException
For the given WTCollection of EPMDocuments, navigates the REFERENCES role of the EPMReferenceLink and returns a WTKeyedMap whose values are WTSets of EPMReferenceLinks or DocumentMasters depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateReferences in interface EPMStructureService
Parameters:
documents - EPMDocuments that REFERENCE other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of DocumentMasters. If false, the values are WTSets of EPMReferenceLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateReferencedBy

public QueryResult navigateReferencedBy(DocumentMaster master,
                                        QuerySpec querySpec)
                                 throws WTException
Deprecated. at R6.2, please use navigateReferencedBy(EPMDocumentMaster, QuerySpec, boolean)

Navigates the REFERENCED_BY role of the EPMReferenceLink and returns a QueryResult of all EPMDocuments that reference this DocumentMaster.

Supported API: false

Specified by:
navigateReferencedBy in interface EPMStructureService
Parameters:
master - The DocumentMaster that the link REFERENCES.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

navigateReferencedBy

public QueryResult navigateReferencedBy(DocumentMaster master,
                                        QuerySpec querySpec,
                                        boolean onlyOtherSide)
                                 throws WTException
Navigates the REFERENCED_BY role of the EPMReferenceLink and returns a QueryResult of EPMReferenceLinks if the value of onlyOtherSide is "false" or EPMDocuments if the value is "true".

Supported API: false

Specified by:
navigateReferencedBy in interface EPMStructureService
Parameters:
master - The DocumentMaster that the link REFERENCES.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true, return a QueryResult of EPMDocuments otherwise return a QueryResult of EPMReferenceLinks.
Returns:
QueryResult
Throws:
WTException

navigateReferencedBy

public WTKeyedMap navigateReferencedBy(WTCollection masters,
                                       QuerySpec querySpec,
                                       boolean onlyOtherSide)
                                throws WTException
For the given WTCollection of DocumentMasters, navigates the REFERENCED_BY role of the EPMReferenceLink and returns a WTKeyedMap whose values are WTSets of EPMReferenceLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateReferencedBy in interface EPMStructureService
Parameters:
masters - DocumentMasters that are REFERENCED_BY other EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocuments. If false, the values are WTSets of EPMReferenceLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateReferencesToIteration

public QueryResult navigateReferencesToIteration(EPMDocument document,
                                                 QuerySpec querySpec,
                                                 ConfigSpec configSpec)
                                          throws WTException,
                                                 ConfigException
Deprecated. at R6.2, please use navigateReferencesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec)

Navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for the DocumentMasters by applying the configSpec. Returns a QueryResult of those iterations that match as well as the DocumentMasters for which there were no matching iterations.

Supported API: false

Specified by:
navigateReferencesToIteration in interface EPMStructureService
Parameters:
document - The document REFERENCED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateReferencesToIteration

public QueryResult navigateReferencesToIteration(EPMDocument document,
                                                 QuerySpec querySpec,
                                                 boolean onlyOtherSide,
                                                 ConfigSpec configSpec)
                                          throws WTException,
                                                 ConfigException
Navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for the DocumentMasters by applying the configSpec.

If onlyOtherSide is "true", this method returns a QueryResult of DocumentMaster iterations and DocumentMasters. A DocumentMaster is returned when none of its iteration match the configSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMReferenceLink and the 1th position is the matching DocumentMaster iteration or DocumentMaster.

Supported API: false

Specified by:
navigateReferencesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", this method returns a QueryResult of DocumentMaster iterations and DocumentMaster objects. A DocumentMastered is returned when none of its iteration match the configSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMReferenceLink and the 1th position is the matching DocumentMaster iteration or DocumentMaster object.
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateReferencesToIteration

public WTKeyedMap navigateReferencesToIteration(WTCollection documents,
                                                QuerySpec querySpec,
                                                boolean onlyOtherSide,
                                                ConfigSpec configSpec)
                                         throws WTException
For the given WTCollection of EPMDocuments, navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iteration for each other-side DocumentMaster by applying the config spec.

This method returns a WTKeyedMap. If onlyOtherSide is "true", the values are WTSets of Documents and possibly DocumentMasters. If onlyOtherSide is "false", the values are Lists of two-element Persistable arrays where the first element is an EPMReferenceLink and the second element is either a Document or possibly a DocumentMaster. A DocumentMaster is returned when none of its iterations match the config spec criteria.

Supported API: false

Specified by:
navigateReferencesToIteration in interface EPMStructureService
Parameters:
documents - EPMDocuments that USE other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the config spec selected iterations of the other-side DocumentMasters or the EPMReferenceLinks paired with the selected iterations . If true, the values of the WTKeyedMap are WTSets of Documents. If false, the values are Lists of two-element Persistable arrays.
configSpec - config spec that selects the appropriate iteration of each other-side master
Returns:
WTKeyedMap
Throws:
WTException

navigateUsesToIteration

public EPMRecursiveResultSet navigateUsesToIteration(EPMDocument document,
                                                     QuerySpec querySpec,
                                                     ConfigSpec configSpec,
                                                     int depth)
                                              throws WTException,
                                                     ConfigException
Deprecated. at R6.2, please use navigateUsesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec, int)

Navigates the USES role of the EPMMemberLink and finds the appropriate iterations for the EPMDocumentMasters by applying the configSpec. Returns a EPMRecursiveResultSet of those EPMDocuments that match the configSpec criteria as well as EPMDocumentMasters for which there were no matching iterations.

Supported API: false

Specified by:
navigateUsesToIteration in interface EPMStructureService
Parameters:
document - The EPMDocument USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
configSpec -
depth - Number of levels to recursive traverse
Returns:
EPMRecursiveResultSet
Throws:
WTException
ConfigException

navigateUsesToIteration

public EPMRecursiveResultSet navigateUsesToIteration(EPMDocument document,
                                                     QuerySpec querySpec,
                                                     boolean onlyOtherSide,
                                                     ConfigSpec configSpec,
                                                     int depth)
                                              throws WTException,
                                                     ConfigException
Navigate the USES role of the EPMMemberLink and finds the appropriate iterations for those EPMDocumentMasters by applying the configSpec.

If onlyOtherSide is true, the EPMRecursiveResultSet returned will not contain infomation about the EPMMemberLinks otherwise it will.

Supported API: false

Specified by:
navigateUsesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If "true", the EPMRecursiveResultSet returned will not contain any information about the EPMMemberLinks otherwise it will.
configSpec -
depth -
Returns:
EPMRecursiveResultSet
Throws:
WTException
ConfigException

navigateReferencesToIteration

public EPMRecursiveResultSet navigateReferencesToIteration(EPMDocument document,
                                                           QuerySpec querySpec,
                                                           ConfigSpec configSpec,
                                                           int depth)
                                                    throws WTException,
                                                           ConfigException
Deprecated. at R6.2, please use navigateReferencesToIteration(EPMDocument, QuerySpec, boolean, ConfigSpec, int)

Navigates the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for the DocumentMasters by applying the configSpec. It returns an EPMRecursiveResultSet of those iterations that match as well as the DocumentMaster for which there were no matching iterations.

Supported API: false

Specified by:
navigateReferencesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
configSpec -
depth -
Returns:
EPMRecursiveResultSet
Throws:
WTException
ConfigException

navigateReferencesToIteration

public EPMRecursiveResultSet navigateReferencesToIteration(EPMDocument document,
                                                           QuerySpec querySpec,
                                                           boolean onlyOtherSide,
                                                           ConfigSpec configSpec,
                                                           int depth)
                                                    throws WTException,
                                                           ConfigException
Navigate the REFERENCES role of the EPMReferenceLink and finds the appropriate iterations for those DocumentMasters by applying the configSpec.

If onlyOtherSide is true, this method returns a EPMRecursiveResultSet that does not contain infomation about the EPMReferenceLinks otherwise it does.

Supported API: false

Specified by:
navigateReferencesToIteration in interface EPMStructureService
Parameters:
document - The document USED_BY the link.
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If true, the EPMRecursiveResultSet returned will not contain infomation about the EPMReferenceLinks otherwise it will.
configSpec -
depth -
Returns:
EPMRecursiveResultSet
Throws:
WTException
ConfigException

navigateGeneric

public QueryResult navigateGeneric(EPMDocument variant,
                                   QuerySpec querySpec,
                                   boolean onlyOtherSide)
                            throws WTException
Navigates the GENERIC role of the EPM Variant Link.

If onlyOtherSide is true, it returns a QueryResult that holds the Master of the EPM Document that is the generic for this variant. If onlyOtherSide is false, it returns a QueryResult that holds the EPM Variant link to the generic.

Supported API: false

Specified by:
navigateGeneric in interface EPMStructureService
Parameters:
variant -
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true return a QueryResult of EPMDocumentMasters otherwise return a QueryResult of EPMVariantLinks.
Returns:
QueryResult
Throws:
WTException

navigateGeneric

public WTKeyedMap navigateGeneric(WTCollection variants,
                                  QuerySpec querySpec,
                                  boolean onlyOtherSide)
                           throws WTException
For the given WTCollection of EPMDocuments, navigates the GENERIC role of the EPMVariantLink and returns a WTKeyedMap whose values are WTSets of EPMVariantLinks or EPMDocumentMasters depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateGeneric in interface EPMStructureService
Parameters:
variants - EPMDocuments that are variants of other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocumentMasters. If false, the values are WTSets of EPMVariantLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateGenericToIteration

public QueryResult navigateGenericToIteration(EPMDocument variant,
                                              QuerySpec querySpec,
                                              boolean onlyOtherSide,
                                              ConfigSpec configSpec)
                                       throws WTException,
                                              ConfigException
Navigates the GENERIC role of the EPMVariantLink and finds the appropriate iteration of the generic for this variant by applying the configSpec.

If onlyOtherSide is true, it returns a QueryResult that holds the EPMDocument that is the generic for this variant. An EPMDocumentMaster is returned when none of the iterations of the generic match the configSpec criteria.

If onlyOtherSide is false, it returns a QueryResult of Persistable[] in which the first Persistable in the array is the EPMVariantLink and the second is the matching EPMDocument or EPMDocumentMaster when none of its iterations match the configSpec criteria.

Supported API: false

Specified by:
navigateGenericToIteration in interface EPMStructureService
Parameters:
variant -
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of EPMDocuments and EPMDocumentMasters. An EPMDocumentMaster is returned when none of its iteration match the ConfigSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMVariantLink and the 1th position is the matching EPMDocument or EPMDocumentMaster.
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateGenericToIteration

public WTKeyedMap navigateGenericToIteration(WTCollection variants,
                                             QuerySpec querySpec,
                                             boolean onlyOtherSide,
                                             ConfigSpec configSpec)
                                      throws WTException
For the given WTCollection of EPMDocuments, navigates the GENERIC role of the EPMVariantLink and finds the appropriate iteration for each other-side EPMDocumentMaster by applying the config spec.

This method returns a WTKeyedMap. If onlyOtherSide is "true", the values are WTSets of EPMDocuments and possibly EPMDocumentMasters. If onlyOtherSide is "false", the values are Lists of two-element Persistable arrays where the first element is an EPMVariantLink and the second element is either an EPMDocument or possibly an EPMDocumentMaster. An EPMDocumentMaster is returned when none of its iterations match the config spec criteria.

Supported API: false

Specified by:
navigateGenericToIteration in interface EPMStructureService
Parameters:
variants - EPMDocuments that are variants of other EPMDocumentMasters
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the config spec selected iterations of the other-side EPMDocumentMasters or the EPMVariantLinks paired with the selected iterations . If true, the values of the WTKeyedMap are WTSets of EPMDocuments. If false, the values are Lists of two-element Persistable arrays.
configSpec - config spec that selects the appropriate iteration of each other-side master
Returns:
WTKeyedMap
Throws:
WTException

navigateVariant

public QueryResult navigateVariant(EPMDocumentMaster genericMaster,
                                   QuerySpec querySpec,
                                   boolean onlyOtherSide)
                            throws WTException
Navigates the VARIANT role of the EPMVariantLink.

If onlyOtherSide is true, it returns a QueryResult of all EPMDocuments that are variants of this generic. If onlyOtherSide is false, it returns a QueryResult of all EPMVariantLinks to those EPMDocuments.

Supported API: false

Specified by:
navigateVariant in interface EPMStructureService
Parameters:
genericMaster -
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true, return a QueryResult of EPMDocuments otherwise return a QueryResult of EPMVariantLinks.
Returns:
QueryResult
Throws:
WTException

navigateVariant

public WTKeyedMap navigateVariant(WTCollection masters,
                                  QuerySpec querySpec,
                                  boolean onlyOtherSide)
                           throws WTException
For the given WTCollection of EPMDocumentMasters, navigates the VARIANT role of the EPMVariantLink and returns a WTKeyedMap whose values are WTSets of EPMVariantLinks or EPMDocuments depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateVariant in interface EPMStructureService
Parameters:
masters - EPMDocumentMasters whose iterations are generics for other EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocuments. If false, the values are WTSets of EPMVariantLinks.
Returns:
WTKeyedMap
Throws:
WTException

navigateContains

public QueryResult navigateContains(EPMFamilyTable container,
                                    QuerySpec querySpec,
                                    boolean onlyOtherSide)
                             throws WTException
Navigates the CONTAINS role of an EPMContainedInLink.

If onlyOtherSide is true, it returns a QueryResult that holds all EPMDocuments that represent an object that is contained in the CAD file that belongs to the "container" EPMFamilyTable.

If onlyOtherSide is false, it returns a QueryResult that holds the EPMContainedInLinks to those EPMDocuments.

Supported API: false

Specified by:
navigateContains in interface EPMStructureService
Parameters:
container - an EPMFamilyTable that holds a CAD file that exposes objects "contained in it" as separate EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true return a QueryResult of EPMDocuments otherwise return a QueryResult of EPMContainedInLinks.
Returns:
QueryResult
Throws:
WTException

navigateContains

public WTKeyedMap navigateContains(WTCollection familyTables,
                                   QuerySpec querySpec,
                                   boolean onlyOtherSide)
                            throws WTException
For the given WTCollection of EPMFamilyTables, navigates the CONTAINS role of the EPMContainedIn link and returns a WTKeyedMap whose values are WTSets of EPMContainedIn links or EPMDocuments depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateContains in interface EPMStructureService
Parameters:
familyTables - EPMFamilyTables that holds CAD files that expose objects "contained in it" as separate EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMDocuments. If false, the values are WTSets of EPMContainedIn links.
Returns:
WTKeyedMap
Throws:
WTException

navigateContains

public QueryResult navigateContains(EPMFamilyTable container,
                                    QuerySpec querySpec,
                                    boolean onlyOtherSide,
                                    ConfigSpec configSpec)
                             throws WTException,
                                    ConfigException
Deprecated.  

Navigates the CONTAINS role of the EPMContainedInLink and finds the appropriate iterations of the "contained" EPM documents by applying the configSpec. If none of the iterations of a particular "contained" document match the selection criteria of the configSpec, its master is returned instead.

If onlyOtherSide is true, it returns a QueryResult of all iterations of all "contained" EPM documents selected by the configSpec. If no iterations of a particular "contained" document were selected, its master is returned instead.

If onlyOtherSide is false, it returns a QueryResult of Persistable[] in which the first element in the array is the EPMContainedInLink and the second is the matching EPMDocument selected by the configSpec. For a particular "contained" document, if none of its iterations were selected by the configSpec, the first element in the array will be null and the second will be its master.

Supported API: false

Specified by:
navigateContains in interface EPMStructureService
Parameters:
container - an EPMFamilyTable that holds a CAD file that exposes objects "contained in it" as separate EPMDocuments
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of EPMDocuments and EPMDocumentMasters. An EPMDocumentMaster is returned when none of its iteration match the ConfigSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMContainedInLink or null and the 1th position is the matching EPMDocument or EPMDocumentMaster.
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateContainedIn

public QueryResult navigateContainedIn(EPMDocument contained,
                                       QuerySpec querySpec,
                                       boolean onlyOtherSide)
                                throws WTException
Navigates the CONTAINED_IN role of an EPMContainedInLink.

If onlyOtherSide is true, it returns a QueryResult that holds all iterations of the "container" EPMFamilyTable that the object represented by the "contained" EPMDocument is found in.

If onlyOtherSide is false, it returns a QueryResult that holds the EPMContainedInLinks to those EPMFamilyTables.

Supported API: false

Specified by:
navigateContainedIn in interface EPMStructureService
Parameters:
contained - an EPMDocument that represents an object that is "contained in" a CAD file that belongs to another EPMFamilyTable
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return only the objects on the other side of the association. If true, return a QueryResult of EPMDocuments otherwise return a QueryResult of EPMContainedInLinks.
Returns:
QueryResult
Throws:
WTException

navigateContainedIn

public WTKeyedMap navigateContainedIn(WTCollection documents,
                                      QuerySpec querySpec,
                                      boolean onlyOtherSide)
                               throws WTException
For the given WTCollection of EPMDocuments, navigates the CONTAINED_IN role of the EPMContainedIn link and returns a WTKeyedMap whose values are WTSets of EPMContainedIn links or EPMFamilyTables depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigateContainedIn in interface EPMStructureService
Parameters:
documents - EPMDocuments whose CAD definition is "contained in" an EPMFamilyTable
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of EPMFamilyTables. If false, the values are WTSets of EPMContainedIn links.
Returns:
WTKeyedMap
Throws:
WTException

navigateContainedIn

public QueryResult navigateContainedIn(EPMDocument contained,
                                       QuerySpec querySpec,
                                       boolean onlyOtherSide,
                                       ConfigSpec configSpec)
                                throws WTException,
                                       ConfigException
Navigates the CONTAINED_IN role of the EPMContainedInLink and finds the appropriate iterations of the "container" EPM family table by applying the configSpec. If none of the iterations of the "container" document match the selection criteria of configSpec, its master is returned instead.

If onlyOtherSide is true, it returns a QueryResult of all iterations of the "container" EPM family table selected by the configSpec. If none were selected, its master is returned instead.

If onlyOtherSide is false, it returns a QueryResult of Persistable[] in which the first element in the array is the EPMContainedInLink and the second is the matching EPMFamilyTAble selected by the configSpec. If none of the iterations of "container" document match the selection criteria of the configSpec, the first element in the array will be null and the second will be the master of the "container" EPM document.

Supported API: false

Specified by:
navigateContainedIn in interface EPMStructureService
Parameters:
contained - an EPMDocument that represents an object that is "contained in" a CAD file that belongs to another EPMDocument
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of EPMDocuments and EPMDocumentMasters. An EPMDocumentMaster is returned when none of its iteration match the ConfigSpec. If "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the EPMContainedInLink or null and the 1th position is the matching EPMDocument or EPMDocumentMaster.
configSpec -
Returns:
QueryResult
Throws:
WTException
ConfigException

navigateBothRoles

public QueryResult navigateBothRoles(EPMDocument document,
                                     Class linkClass)
                              throws WTException
Navigates the both roles of the given link class. Returns a QueryResult of all links of the given class whose RoleA object or RoleB object is the given EPM Document.

Supported API: false

Specified by:
navigateBothRoles in interface EPMStructureService
Parameters:
document -
linkClass - link class that implements BinaryLink
Returns:
QueryResult
Throws:
WTException

navigate

public QueryResult navigate(QueryResult objects,
                            Class linkClass,
                            String otherSideRole,
                            QuerySpec querySpec,
                            boolean onlyOtherSide)
                     throws WTException
Navigates the links of the specified class to the given role from the supplied Persistable objects.

If onlyOtherSide is true, it returns a QueryResult that holds the other side objects associated via a link of the specified class with any of the supplied objects. If onlyOtherSide is false, it returns a QueryResult that holds the links of the specified class from all of the supplied objects.

This method navigates the links associated with all of the supplied objects with a single query.

Supported API: false

Specified by:
navigate in interface EPMStructureService
Parameters:
objects - Persistable objects to navigate from
linkClass - Class of link to navigate
otherSideRole - Role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the objects on the other side of the association. If true return the other side objects otherwise return links.
Returns:
QueryResult
Throws:
WTException

navigateMasterToIteration

public QueryResult navigateMasterToIteration(QueryResult objects,
                                             Class linkClass,
                                             QuerySpec querySpec,
                                             boolean onlyOtherSide,
                                             ConfigSpec configSpec)
                                      throws WTException
Navigates the links of the specified class to Mastered objects from the supplied Persistable objects and finds the appropriate iterations for those Mastered objects by applying the configSpec.

If onlyOtherSide is true, it returns a QueryResult of the iterations of those Mastered objects and possibly the Mastered objects themselves. A Mastered object is returned when none of its iteration match the configSpec criteria.

If onlyOtherSide is "false", returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the link and the 1th position is the matching iteration of the Mastered object or the Mastered object itself when none of its iterations match the configSpec criteria.

This method navigates the links to Mastered objects from the all of the supplied objects and finds the appropriate iterations for those Mastered objects using two queries.

Supported API: false

Specified by:
navigateMasterToIteration in interface EPMStructureService
Parameters:
objects - Persistable objects to navigate from
linkClass - Class of link to navigate
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the objects on the other side of the association. If true return the other side objects otherwise return links.
configSpec -
Returns:
QueryResult
Throws:
WTException

navigateToIteration

public QueryResult navigateToIteration(QueryResult objects,
                                       Class linkClass,
                                       String otherSideRole,
                                       QuerySpec querySpec,
                                       boolean onlyOtherSide,
                                       ConfigSpec configSpec)
                                throws WTException
Navigates the links of the specified class to Iterated objects from the supplied Persistable objects and finds the appropriate Iterated objects by applying the configSpec. If none of the Iterated objects match the selection criteria of configSpec, the Master is returned instead.

If onlyOtherSide is false, it returns a QueryResult of Persistable[] in which the first element in the array is the link and the second is the matching Iterated object selected by the configSpec. If none of the Iterated objects match the selection criteria of the configSpec, the first element in the array will be null and the second will be the Master.

This method navigates the links to Iterated objects from all of the supplied objects and finds the appropriate ones by applying the configSpec using two queries.

Supported API: false

Specified by:
navigateToIteration in interface EPMStructureService
Parameters:
objects - Persistable objects to navigate from
linkClass - Class of link to navigate
otherSideRole - Role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the objects on the other side of the association. If true return the other side objects otherwise return links.
configSpec -
Returns:
QueryResult
Throws:
WTException

navigate

public WTKeyedMap navigate(WTCollection objects,
                           Class linkClass,
                           String otherSideRole,
                           QuerySpec querySpec,
                           boolean onlyOtherSide)
                    throws WTException
Navigates the links of the specified class to the given role from each Persistable in the given WTCollection using a single query. It returns a WTKeyedMap whose values are WTSets of links or other-side objects depending upon the value of the onlyOtherSide flag.

Supported API: false

Specified by:
navigate in interface EPMStructureService
Parameters:
objects - Persistable objects to navigate from
linkClass - Class of link to navigate
otherSideRole - Role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - Indicates whether to return the links or the other-side objects. If true return a WTKeyedMap whose values are WTSets of the other-side objects. If false, the values are WTSets of links.
Returns:
WTKeyedMap
Throws:
WTException

expand

public QueryResult expand(QueryResult objects,
                          Class linkClass,
                          String otherSideRole,
                          QuerySpec querySpec)
                   throws WTException
Retrieves objects related to the given persistable object given a role, an association name and selection criteria. This method provides low level access to the database and bypasses access control operations.

Returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the link and the 1th position is the otherSide object from all of the supplied objects..

This method navigates the links associated with all of the supplied objects with a single query.

Supported API: false

Specified by:
expand in interface EPMSrvStructureService
Parameters:
objects - Persistable objects to expand from
linkClass - Class of link to expand
otherSideRole - Role to expand to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

expand

public QueryResult expand(QueryResult objects,
                          Class linkClass,
                          String otherSideRole,
                          QuerySpec querySpec,
                          boolean onlyOtherSide)
                   throws WTException
Retrieves objects related to the given persistable object given a role, an association name and selection criteria. This method provides low level access to the database and bypasses access control operations.

If onlyOtherSide is "true", returns a QueryResult of otherSide objects. If "false", returns a QueryResult of links.

This method navigates the links associated with all of the supplied objects with a single query.

Supported API: false

Specified by:
expand in interface EPMSrvStructureService
Parameters:
objects - Persistable objects to expand from
linkClass - Class of link to expand
otherSideRole - Role to expand to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of otherSide objects. If "false", returns a QueryResult of links.
Returns:
QueryResult
Throws:
WTException

copyContainedInLink

public EPMContainedIn copyContainedInLink(EPMContainedIn link,
                                          EPMDocument contains,
                                          EPMFamilyTable container)
                                   throws WTException
Within a transaction, create a new contained link link from an existing contained in link and set the ends based on the values passed in.

Supported API: false

Specified by:
copyContainedInLink in interface EPMSrvStructureService
Parameters:
link - The link to copy
contains - Document to set to Role A
container - EPMFamilyTable which will be Role B
Returns:
EPMContainedIn
Throws:
WTException

navigate

public Object navigate(WTCollection objects,
                       Class linkClass,
                       String otherSideRole,
                       QuerySpec querySpec,
                       NavigateResultProcessor processor)
                throws WTException
Navigates the links of the specified class from one set of objects to another.

The NavigateResultProcessor determines what objects or attributes to return and what type of object to return them in.

The NavigateResultProcessor may return the links, the other-side objects, or specific attributes of either object or any combination of the three. It may also post process the results from the navigation. For example, it may return the appropriate iteration for each other-side master by applying a ConfigSpec.

It may return the results as a Collection, a Map or some other type of object.

Supported API: false

Specified by:
navigate in interface EPMSrvStructureService
Parameters:
objects - collection of objects to navigate from
linkClass - link class to navigate
otherSideRole - role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
processor - determines what objects or attributes to return and what type of object to return them in
Returns:
Object
Throws:
WTException

expand

public Object expand(WTCollection objects,
                     Class linkClass,
                     String otherSideRole,
                     QuerySpec querySpec,
                     NavigateResultProcessor processor)
              throws WTException
Navigates the links of the specified class from one set of objects to another bypassing access control.

The NavigateResultProcessor determines what objects or attributes to return and what type of object to return them in.

The NavigateResultProcessor may return the links, the other-side objects, or specific attributes of either object or any combination of the three. It may also post process the results from the navigation. For example, it may return the appropriate iteration for each other-side master by applying a ConfigSpec.

It may return the results as a Collection, a Map or some other type of object.

Supported API: false

Specified by:
expand in interface EPMSrvStructureService
Parameters:
objects - collection of objects to navigate from
linkClass - link class to navigate
otherSideRole - role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
processor - determines what objects or attributes to return and what type of object to return them in
Returns:
Object
Throws:
WTException

getNextEPMLinkSequence

public static long getNextEPMLinkSequence()
                                   throws WTException
Throws:
WTException

validatePreStore

protected void validatePreStore(WTCollection containedInLinks)
                         throws WTException
Throws:
WTException

validatePreModify

protected void validatePreModify(EPMContainedIn containedInLink)
                          throws WTException
Throws:
WTException

validateMasterDelete

protected void validateMasterDelete(DocumentMaster target)
                             throws WTException
Throws:
WTException

processNewVersionEvent

private void processNewVersionEvent(WTCollection newDocumentVersions)
                             throws WTException
Throws:
WTException

processNewIterationFamilyTableEvent

private void processNewIterationFamilyTableEvent(WTCollection documents)
                                          throws WTException
Throws:
WTException

processPreCheckoutFamilyTableEvent

private void processPreCheckoutFamilyTableEvent(WTCollection documents)
                                         throws WTException
Throws:
WTException

processPostMultiCheckoutEvent

private void processPostMultiCheckoutEvent(WTValuedMap workingPairs)
                                    throws WTException,
                                           WTPropertyVetoException
Throws:
WTException
WTPropertyVetoException

processPostMultiSBCheckinEvent

private void processPostMultiSBCheckinEvent(Map sandboxToCheckedInVersionRefMap)
                                     throws WTException
Throws:
WTException

cleanContainedInLinksOnSBCheckin

private void cleanContainedInLinksOnSBCheckin(Map sandboxToCheckedInVersionRefMap)
                                       throws WTException
Throws:
WTException

isInActive

private boolean isInActive(EPMDocument document)
                    throws WTException
Throws:
WTException

setMultiCopyInProgress

private static void setMultiCopyInProgress(boolean inProgress)

isMultiCopyInProgress

public static boolean isMultiCopyInProgress()

setCopyInProgress

private static void setCopyInProgress(boolean inProgress)

isCopyInProgress

public static boolean isCopyInProgress()

setRestoreDepLinkInProgress

public static void setRestoreDepLinkInProgress()
                                        throws WTException
Throws:
WTException

isRestoreDepLinkInProgress

public static boolean isRestoreDepLinkInProgress()
                                          throws WTException
Throws:
WTException

checkPermissions

private void checkPermissions(WTCollection links,
                              Class[] linkClasses)
                       throws WTException
Throws:
WTException

checkForCrossContainerLinks

private void checkForCrossContainerLinks(WTCollection links,
                                         Class[] linkClasses)
                                  throws WTException
Throws:
WTException

assignUniqueLinkId

private void assignUniqueLinkId(WTCollection links)
                         throws WTException
Throws:
WTException

setHasIBAValuesFlag

private void setHasIBAValuesFlag(WTCollection links)
                          throws WTException
Throws:
WTException

processPreStore

private void processPreStore(WTCollection links)
                      throws WTException
Throws:
WTException

processPreModify

private void processPreModify(WTCollection links)
                       throws WTException
Throws:
WTException

validatePreDelete

private void validatePreDelete(WTCollection links)
                        throws WTException
Throws:
WTException

copyForwardLinks

private void copyForwardLinks(WTCollection newIterations)
                       throws WTException
Throws:
WTException

copyForward

private void copyForward(WTCollection newIterations,
                         WTCollection predecessors,
                         Relationship relationship)
                  throws WTException
Throws:
WTException

getPredecessor

private ObjectReference getPredecessor(Iterated iteration)

copyForwardIBAs

private void copyForwardIBAs(WTValuedMap originalsToNew,
                             Class linkClass)
                      throws WTException
Throws:
WTException

updateBuiltFlag

protected void updateBuiltFlag(WTValuedMap originalsToNew)
                        throws WTException
Throws:
WTException

copyForwardEPMParameterValues

private void copyForwardEPMParameterValues(WTCollection newIterations)
                                    throws WTException
Throws:
WTException

copyForwardEPMFeatureValues

private void copyForwardEPMFeatureValues(WTCollection newIterations)
                                  throws WTException
Throws:
WTException

checkPermissionsForParamsAndFeatures

private void checkPermissionsForParamsAndFeatures(WTCollection objects)
                                           throws WTException
Throws:
WTException

validatePreStoreForParameterAndFeatures

private void validatePreStoreForParameterAndFeatures(WTCollection objects)
                                              throws WTException
Throws:
WTException

validatePreDeleteOrPreModifyForParameterAndFeatures

private void validatePreDeleteOrPreModifyForParameterAndFeatures(WTCollection objects)
                                                          throws WTException
Throws:
WTException