wt.epm.structure
Class DependencyGraph

java.lang.Object
  extended bywt.epm.structure.DependencyGraph

public class DependencyGraph
extends Object


Nested Class Summary
static class DependencyGraph.AbstractVisitor
           
static class DependencyGraph.Dependency
           
protected static class DependencyGraph.DependencyCache
           
static interface DependencyGraph.Visitor
           
 
Field Summary
private  DependencyGraph.DependencyCache dependencyCache
           
private  EPMCache.IterationCache iterationCache
           
 
Constructor Summary
DependencyGraph(ConfigSpec configSpec)
           
 
Method Summary
 List traceDependencies(Collection parents, boolean requiredOnly)
          Given a collection of Parts or Documents, recursively trace their dependents.
 Collection traceDependencies(Collection parents, DependencyGraph.Visitor visitor)
          Given a collection of Parts or Documents, recursively trace their dependents.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

iterationCache

private EPMCache.IterationCache iterationCache

dependencyCache

private DependencyGraph.DependencyCache dependencyCache
Constructor Detail

DependencyGraph

public DependencyGraph(ConfigSpec configSpec)
Method Detail

traceDependencies

public List traceDependencies(Collection parents,
                              boolean requiredOnly)
                       throws WTException
Given a collection of Parts or Documents, recursively trace their dependents. What links are recursively traversed to find an object's dependents varies depending upon the class of the object. EPMDocuments: EPMMemberLinks, EPMReferenceLinks and EPMVariantLinks WTParts: WTPartUsageLinks WTDocuments: WTDocumentUsageLinks Note: The notion of required does not apply to WTParts and WTDocuments. For those objects, this method always returns all of their dependents.

Supported API: false

Returns:
List of dependents
Throws:
WTException

traceDependencies

public Collection traceDependencies(Collection parents,
                                    DependencyGraph.Visitor visitor)
                             throws WTException
Given a collection of Parts or Documents, recursively trace their dependents. What links are recursively traversed to find an object's dependents varies depending upon the class of the object. EPMDocuments: EPMMemberLinks, EPMReferenceLinks and EPMVariantLinks WTParts: WTPartUsageLinks WTDocuments: WTDocumentUsageLinks

Supported API: false

Returns:
Collection of objects returned by the vistor
Throws:
WTException