org.sonatype.aether.util.graph
Class CloningDependencyVisitor

java.lang.Object
  extended by org.sonatype.aether.util.graph.CloningDependencyVisitor
All Implemented Interfaces:
DependencyVisitor

public class CloningDependencyVisitor
extends Object
implements DependencyVisitor

A dependency visitor that constructs a clone of the visited dependency graph. If such a visitor is passed into a FilteringDependencyVisitor, a sub graph can be created. This class creates shallow clones of the visited dependency nodes but clients can create a subclass and override clone(DependencyNode) to alter the clone process.

Author:
Benjamin Bentmann

Constructor Summary
CloningDependencyVisitor()
          Creates a new visitor that clones the visited nodes.
 
Method Summary
protected  DependencyNode clone(DependencyNode node)
          Creates a clone of the specified node.
 DependencyNode getRootNode()
          Gets the root node of the cloned dependency graph.
 boolean visitEnter(DependencyNode node)
           
 boolean visitLeave(DependencyNode node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloningDependencyVisitor

public CloningDependencyVisitor()
Creates a new visitor that clones the visited nodes.

Method Detail

getRootNode

public DependencyNode getRootNode()
Gets the root node of the cloned dependency graph.

Returns:
The root node of the cloned dependency graph or null.

clone

protected DependencyNode clone(DependencyNode node)
Creates a clone of the specified node.

Parameters:
node - The node to clone, must not be null.
Returns:
The cloned node, never null.

visitEnter

public boolean visitEnter(DependencyNode node)
Specified by:
visitEnter in interface DependencyVisitor

visitLeave

public boolean visitLeave(DependencyNode node)
Specified by:
visitLeave in interface DependencyVisitor


Copyright © 2010-2011 Sonatype, Inc.. All Rights Reserved.