Class VisitNode


  • public class VisitNode
    extends java.lang.Object
    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
    • Method Detail

      • getNode

        public IvyNode getNode()
      • getRequestedConf

        public java.lang.String getRequestedConf()
        Returns:
        Returns the configuration requested by the parent
      • setRequestedConf

        public void setRequestedConf​(java.lang.String requestedConf)
      • getPath

        public java.util.Collection<VisitNode> getPath()
        Get an ordered collection with the nodes from the root to this node
        Returns:
        Collection<VisitNode>
      • getParentConf

        public java.lang.String getParentConf()
      • setParentConf

        public void setParentConf​(java.lang.String parentConf)
      • getRootModuleConf

        public java.lang.String getRootModuleConf()
      • 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

        public IvyNode 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

        public boolean loadData​(java.lang.String conf,
                                boolean shouldBePublic)
      • getDependencies

        public java.util.Collection<VisitNode> getDependencies​(java.lang.String conf)
      • updateConfsToFetch

        public void updateConfsToFetch​(java.util.Collection<java.lang.String> confs)
      • isEvicted

        public boolean isEvicted()
      • getRealConfs

        public java.lang.String[] getRealConfs​(java.lang.String conf)
      • hasProblem

        public boolean hasProblem()
      • getConfiguration

        public Configuration getConfiguration​(java.lang.String conf)
      • isCircular

        public boolean isCircular()
        Returns true if this node can already be found in the path
        Returns:
        boolean
      • getConfsToFetch

        public java.lang.String[] getConfsToFetch()
      • getRequiredConfigurations

        public java.lang.String[] getRequiredConfigurations​(VisitNode in,
                                                            java.lang.String inConf)
      • getModuleId

        public ModuleId getModuleId()
      • getRequiredConfigurations

        public java.lang.String[] getRequiredConfigurations()
      • markEvicted

        public void markEvicted​(VisitNode parent,
                                ConflictManager conflictMgr,
                                java.util.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 given ConflictManager
        Parameters:
        parent - the VisitNode in which eviction has been made
        conflictMgr - the conflict manager responsible for the eviction
        selected - a Collection of IvyNode which have been selected
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isConfRequiredByMergedUsageOnly

        public boolean isConfRequiredByMergedUsageOnly​(java.lang.String conf)