com.jeantessier.dependency
Class TransitiveClosure

java.lang.Object
  |
  +--com.jeantessier.dependency.VisitorBase
        |
        +--com.jeantessier.dependency.TransitiveClosure
All Implemented Interfaces:
Visitor

public class TransitiveClosure
extends VisitorBase

Creates a sub-graph of Nodes based on a scope and filtering rules. To get all transitive dependencies, the visited graph should be maximized first with LinkMaximizer. Otherwise, you will only get a subset of the explicit dependencies.


Field Summary
static long DO_NOT_FOLLOW
           
static long UNBOUNDED_DEPTH
           
 
Constructor Summary
TransitiveClosure()
           
TransitiveClosure(TraversalStrategy strategy)
           
 
Method Summary
 NodeFactory Factory()
           
 long MaximumInboundDepth()
           
 void MaximumInboundDepth(long maximum_inbound_depth)
           
 long MaximumOutboundDepth()
           
 void MaximumOutboundDepth(long maximum_outbound_depth)
           
 void PreprocessClassNode(ClassNode node)
           
 void PreprocessFeatureNode(FeatureNode node)
           
 void PreprocessPackageNode(PackageNode node)
           
 boolean SinglePath()
           
 void SinglePath(boolean single_path)
           
 void VisitInboundClassNode(ClassNode node)
           
 void VisitInboundFeatureNode(FeatureNode node)
           
 void VisitInboundPackageNode(PackageNode node)
           
 void VisitOutboundClassNode(ClassNode node)
           
 void VisitOutboundFeatureNode(FeatureNode node)
           
 void VisitOutboundPackageNode(PackageNode node)
           
 
Methods inherited from class com.jeantessier.dependency.VisitorBase
CurrentNode, PopNode, PostprocessBeforeDependenciesClassNode, PostprocessBeforeDependenciesPackageNode, PostprocessClassNode, PostprocessFeatureNode, PostprocessPackageNode, PreprocessAfterDependenciesClassNode, PreprocessAfterDependenciesPackageNode, PushNode, Strategy, TraverseInbound, TraverseNodes, TraverseOutbound, VisitClassNode, VisitFeatureNode, VisitPackageNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DO_NOT_FOLLOW

public static long DO_NOT_FOLLOW

UNBOUNDED_DEPTH

public static long UNBOUNDED_DEPTH
Constructor Detail

TransitiveClosure

public TransitiveClosure()

TransitiveClosure

public TransitiveClosure(TraversalStrategy strategy)
Method Detail

Factory

public NodeFactory Factory()

MaximumInboundDepth

public long MaximumInboundDepth()

MaximumInboundDepth

public void MaximumInboundDepth(long maximum_inbound_depth)

MaximumOutboundDepth

public long MaximumOutboundDepth()

MaximumOutboundDepth

public void MaximumOutboundDepth(long maximum_outbound_depth)

SinglePath

public boolean SinglePath()

SinglePath

public void SinglePath(boolean single_path)

PreprocessPackageNode

public void PreprocessPackageNode(PackageNode node)
Overrides:
PreprocessPackageNode in class VisitorBase

VisitInboundPackageNode

public void VisitInboundPackageNode(PackageNode node)
Overrides:
VisitInboundPackageNode in class VisitorBase

VisitOutboundPackageNode

public void VisitOutboundPackageNode(PackageNode node)
Overrides:
VisitOutboundPackageNode in class VisitorBase

PreprocessClassNode

public void PreprocessClassNode(ClassNode node)
Overrides:
PreprocessClassNode in class VisitorBase

VisitInboundClassNode

public void VisitInboundClassNode(ClassNode node)
Overrides:
VisitInboundClassNode in class VisitorBase

VisitOutboundClassNode

public void VisitOutboundClassNode(ClassNode node)
Overrides:
VisitOutboundClassNode in class VisitorBase

PreprocessFeatureNode

public void PreprocessFeatureNode(FeatureNode node)
Overrides:
PreprocessFeatureNode in class VisitorBase

VisitInboundFeatureNode

public void VisitInboundFeatureNode(FeatureNode node)
Overrides:
VisitInboundFeatureNode in class VisitorBase

VisitOutboundFeatureNode

public void VisitOutboundFeatureNode(FeatureNode node)
Overrides:
VisitOutboundFeatureNode in class VisitorBase