Package org.apache.ivy.core.resolve
Class VisitNode
java.lang.Object
org.apache.ivy.core.resolve.VisitNode
A visit node is an object used to represent one visit from one parent on an
IvyNode
of
the dependency graph. During dependency resolution, the ResolveEngine
visits nodes of the
dependency graph following the dependencies, thus the same node can be visited several times, if
it is requested from several module. In this case you will have one VisitNode per parent and per
root module configuration. Thus VisitNode stores data specific to the visit:
- parent
- the node from which the visit is occurring
- parentConf
- the configuration of the parent in which this node is visited
- rootModuleConf
- the configuration of the root module which is currently resolved
-
Constructor Summary
ConstructorsConstructorDescriptionVisitNode
(ResolveData data, IvyNode node, VisitNode parent, String rootModuleConf, String parentConf) VisitNode
(ResolveData data, IvyNode node, VisitNode parent, String rootModuleConf, String parentConf, IvyNodeUsage usage) -
Method Summary
Modifier and TypeMethodDescriptiongetConfiguration
(String conf) String[]
getDependencies
(String conf) getEvictedRevisions
(ModuleId moduleId) getEvictionDataInRoot
(String rootModuleConf, VisitNode ancestor) getId()
getNode()
getPath()
Get an ordered collection with the nodes from the root to this nodeString[]
getRealConfs
(String conf) Returns the 'real' node currently visited.String[]
String[]
getRequiredConfigurations
(VisitNode in, String inConf) getRoot()
static VisitNode
boolean
boolean
Returns true if this node can already be found in the pathboolean
boolean
protected boolean
Checks if the current node's parent configuration is transitive.boolean
Returns true if the current dependency descriptor is transitive and the parent configuration is transitive.boolean
void
markEvicted
(IvyNodeEviction.EvictionData evictionData) void
markEvicted
(VisitNode parent, ConflictManager conflictMgr, Collection<IvyNode> selected) Marks the current node as evicted by the the given selected IvyNodes, in the given parent and root module configuration, with the givenConflictManager
void
setParentConf
(String parentConf) void
setRequestedConf
(String requestedConf) toString()
void
updateConfsToFetch
(Collection<String> confs) void
Ask to the current visited node to use a real node only, if one exist.
-
Constructor Details
-
VisitNode
public VisitNode(ResolveData data, IvyNode node, VisitNode parent, String rootModuleConf, String parentConf) -
VisitNode
public VisitNode(ResolveData data, IvyNode node, VisitNode parent, String rootModuleConf, String parentConf, IvyNodeUsage usage)
-
-
Method Details
-
getNode
-
getRequestedConf
- Returns:
- Returns the configuration requested by the parent
-
setRequestedConf
-
getParent
-
getRoot
-
getPath
Get an ordered collection with the nodes from the root to this node- Returns:
- Collection<VisitNode>
-
getParentConf
-
setParentConf
-
getRootModuleConf
-
getRoot
-
isTransitive
public boolean isTransitive()Returns true if the current dependency descriptor is transitive and the parent configuration is transitive. Otherwise returns false.- Returns:
- true if current node is transitive and the parent configuration is transitive.
-
isParentConfTransitive
protected boolean isParentConfTransitive()Checks if the current node's parent configuration is transitive.- Returns:
- true if the node's parent configuration is transitive
-
getRealNode
Returns the 'real' node currently visited. 'Real' means that if we are visiting a node created originally with only a version constraint, and if this version constraint has been resolved to an existing node in the graph, we will return the existing node, and not the one originally used which is about to be discarded, since it's not possible to have in the graph two nodes for the same ModuleRevisionId- Returns:
- the 'real' node currently visited.
-
useRealNode
public void useRealNode()Ask to the current visited node to use a real node only, if one exist. See getRealNode for details about what a 'real' node is. -
loadData
-
getDependencies
-
getResolvedId
-
updateConfsToFetch
-
getId
-
isEvicted
public boolean isEvicted() -
getRealConfs
-
hasProblem
public boolean hasProblem() -
getConfiguration
-
getEvictedData
-
getDependencyDescriptor
-
isCircular
public boolean isCircular()Returns true if this node can already be found in the path- Returns:
- boolean
-
getConfsToFetch
-
getRequiredConfigurations
-
getModuleId
-
getResolvedRevisions
-
markEvicted
-
getRequiredConfigurations
-
markEvicted
public void markEvicted(VisitNode parent, ConflictManager conflictMgr, Collection<IvyNode> selected) Marks the current node as evicted by the the given selected IvyNodes, in the given parent and root module configuration, with the givenConflictManager
- Parameters:
parent
- the VisitNode in which eviction has been madeconflictMgr
- the conflict manager responsible for the evictionselected
- a Collection ofIvyNode
which have been selected
-
getDescriptor
-
getEvictionDataInRoot
public IvyNodeEviction.EvictionData getEvictionDataInRoot(String rootModuleConf, VisitNode ancestor) -
getEvictedRevisions
-
toString
-
isConfRequiredByMergedUsageOnly
-