org.apache.ivy.core.resolve
Class IvyNode

java.lang.Object
  extended by org.apache.ivy.core.resolve.IvyNode
All Implemented Interfaces:
java.lang.Comparable

public class IvyNode
extends java.lang.Object
implements java.lang.Comparable


Constructor Summary
IvyNode(ResolveData data, IvyNode parent, DependencyDescriptor dd)
           
IvyNode(ResolveData data, ModuleDescriptor md)
           
 
Method Summary
 void addCaller(java.lang.String rootModuleConf, IvyNode callerNode, java.lang.String callerConf, java.lang.String[] dependencyConfs, DependencyDescriptor dd)
           
 void clean()
          Clean data related to one root module configuration only
 int compareTo(java.lang.Object obj)
           
 void discardConf(java.lang.String rootModuleConf, java.lang.String conf)
           
 boolean doesCallersExclude(java.lang.String rootModuleConf, Artifact artifact, java.util.Stack callersStack)
           
 boolean equals(java.lang.Object obj)
           
 IvyNode findNode(ModuleRevisionId mrid)
           
 Artifact[] getAllArtifacts()
          Returns all the artifacts of this dependency required in all the root module configurations
 IvyNodeCallers.Caller[] getAllCallers()
           
 java.util.Collection getAllCallersModuleIds()
           
 java.util.Collection getAllEvictingConflictManagers()
           
 java.util.Collection getAllEvictingNodes()
           
 Artifact[] getArtifacts(java.lang.String rootModuleConf)
          Returns the artifacts of this dependency required in the configurations themselves required in the given root module configuration
 IvyNodeCallers.Caller[] getCallers(java.lang.String rootModuleConf)
           
 Configuration getConfiguration(java.lang.String conf)
           
 java.lang.String[] getConfigurations(java.lang.String rootModuleConf)
          Returns the configurations of the dependency required in a given root module configuration.
 ConflictManager getConflictManager(ModuleId mid)
           
 java.lang.String[] getConfsToFetch()
           
 ResolveData getData()
           
 java.util.Collection getDependencies(java.lang.String rootModuleConf, java.lang.String[] confs)
           
 java.util.Collection getDependencies(java.lang.String rootModuleConf, java.lang.String conf, java.lang.String requestedConf)
           
 DependencyDescriptor getDependencyDescriptor(IvyNode parent)
           
 ModuleDescriptor getDescriptor()
           
 java.lang.String[] getEvictedConfs()
           
 IvyNodeEviction.EvictionData getEvictedData(java.lang.String rootModuleConf)
           
 java.util.Collection getEvictedNodes(ModuleId mid, java.lang.String rootModuleConf)
           
 java.util.Collection getEvictedRevisions(ModuleId mid, java.lang.String rootModuleConf)
           
 IvyNodeEviction.EvictionData getEvictionDataInRoot(java.lang.String rootModuleConf, IvyNode ancestor)
           
 ModuleRevisionId getId()
           
 long getLastModified()
          Returns the last modified timestamp of the module represented by this Node, or 0 if the last modified timestamp is currently unkwown (module not loaded)
 ModuleId getModuleId()
           
 ResolvedModuleRevision getModuleRevision()
           
 java.util.Collection getPendingConflicts(java.lang.String rootModuleConf, ModuleId mid)
          Returns a collection of Nodes in conflict for which conflict has been detected but conflict resolution hasn't been done yet
 java.lang.Exception getProblem()
           
 java.lang.String getProblemMessage()
           
 long getPublication()
           
 java.lang.String[] getRealConfs(java.lang.String conf)
           
 IvyNode getRealNode()
           
 java.lang.String[] getRequiredConfigurations()
          returns all the current required configurations of the node
 java.lang.String[] getRequiredConfigurations(IvyNode in, java.lang.String inConf)
          returns the required configurations from the given node
 ModuleRevisionId getResolvedId()
           
 java.util.Collection getResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf)
           
 java.util.Collection getResolvedRevisions(ModuleId moduleId, java.lang.String rootModuleConf)
           
 IvyNode getRoot()
           
 java.lang.String[] getRootModuleConfigurations()
          Returns the root module configurations in which this dependency is required
 Artifact[] getSelectedArtifacts(Filter artifactFilter)
          Returns all the artifacts of this dependency required in the root module configurations in which the node is not evicted
 boolean hasConfigurationsToLoad()
           
 int hashCode()
           
 boolean hasProblem()
           
 boolean isCircular()
          Returns true if this node can already be found among its callers
 boolean isCompletelyEvicted()
           
 boolean isDownloaded()
           
 boolean isEvicted(java.lang.String rootModuleConf)
           
 boolean isFetched(java.lang.String conf)
           
 boolean isLoaded()
           
 boolean isSearched()
           
 boolean loadData(java.lang.String rootModuleConf, IvyNode parent, java.lang.String parentConf, java.lang.String conf, boolean shouldBePublic)
          After the call node may be discarded.
 void markEvicted(IvyNodeEviction.EvictionData evictionData)
           
 void markEvicted(java.lang.String rootModuleConf, IvyNode node, ConflictManager conflictManager, java.util.Collection resolved)
           
 void setEvictedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection evicted)
           
 void setPendingConflicts(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection conflicts)
           
 void setResolvedNodes(ModuleId moduleId, java.lang.String rootModuleConf, java.util.Collection resolved)
           
 java.lang.String toString()
           
 void updateConfsToFetch(java.util.Collection confs)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IvyNode

public IvyNode(ResolveData data,
               IvyNode parent,
               DependencyDescriptor dd)

IvyNode

public IvyNode(ResolveData data,
               ModuleDescriptor md)
Method Detail

loadData

public boolean loadData(java.lang.String rootModuleConf,
                        IvyNode parent,
                        java.lang.String parentConf,
                        java.lang.String conf,
                        boolean shouldBePublic)
After the call node may be discarded. To avoid using discarded node, make sure to get the real node after the call IvyNode node = ... node.loadData(); node = node.getRealNode(); ...


getDependencies

public java.util.Collection getDependencies(java.lang.String rootModuleConf,
                                            java.lang.String[] confs)

getDependencies

public java.util.Collection getDependencies(java.lang.String rootModuleConf,
                                            java.lang.String conf,
                                            java.lang.String requestedConf)

getDependencyDescriptor

public DependencyDescriptor getDependencyDescriptor(IvyNode parent)

hasConfigurationsToLoad

public boolean hasConfigurationsToLoad()

updateConfsToFetch

public void updateConfsToFetch(java.util.Collection confs)

getRequiredConfigurations

public java.lang.String[] getRequiredConfigurations(IvyNode in,
                                                    java.lang.String inConf)
returns the required configurations from the given node

Parameters:
in -
Returns:

getRequiredConfigurations

public java.lang.String[] getRequiredConfigurations()
returns all the current required configurations of the node

Returns:

getConfiguration

public Configuration getConfiguration(java.lang.String conf)

getConfigurations

public java.lang.String[] getConfigurations(java.lang.String rootModuleConf)
Returns the configurations of the dependency required in a given root module configuration.

Parameters:
rootModuleConf -
Returns:

discardConf

public void discardConf(java.lang.String rootModuleConf,
                        java.lang.String conf)

getRootModuleConfigurations

public java.lang.String[] getRootModuleConfigurations()
Returns the root module configurations in which this dependency is required

Returns:

getConfsToFetch

public java.lang.String[] getConfsToFetch()

getRealConfs

public java.lang.String[] getRealConfs(java.lang.String conf)

getAllArtifacts

public Artifact[] getAllArtifacts()
Returns all the artifacts of this dependency required in all the root module configurations

Returns:

getSelectedArtifacts

public Artifact[] getSelectedArtifacts(Filter artifactFilter)
Returns all the artifacts of this dependency required in the root module configurations in which the node is not evicted

Parameters:
artifactFilter -
Returns:

getArtifacts

public Artifact[] getArtifacts(java.lang.String rootModuleConf)
Returns the artifacts of this dependency required in the configurations themselves required in the given root module configuration

Parameters:
rootModuleConf -
Returns:

hasProblem

public boolean hasProblem()

getProblem

public java.lang.Exception getProblem()

getProblemMessage

public java.lang.String getProblemMessage()

isDownloaded

public boolean isDownloaded()

isSearched

public boolean isSearched()

isLoaded

public boolean isLoaded()

isCircular

public boolean isCircular()
Returns true if this node can already be found among its callers

Returns:

isFetched

public boolean isFetched(java.lang.String conf)

findNode

public IvyNode findNode(ModuleRevisionId mrid)

getRoot

public IvyNode getRoot()

getConflictManager

public ConflictManager getConflictManager(ModuleId mid)

getRealNode

public IvyNode getRealNode()

getId

public ModuleRevisionId getId()

getModuleId

public ModuleId getModuleId()

getDescriptor

public ModuleDescriptor getDescriptor()

getData

public ResolveData getData()

getModuleRevision

public ResolvedModuleRevision getModuleRevision()

getPublication

public long getPublication()

getLastModified

public long getLastModified()
Returns the last modified timestamp of the module represented by this Node, or 0 if the last modified timestamp is currently unkwown (module not loaded)

Returns:
the last modified timestamp of the module represented by this Node

getResolvedId

public ModuleRevisionId getResolvedId()

clean

public void clean()
Clean data related to one root module configuration only


getCallers

public IvyNodeCallers.Caller[] getCallers(java.lang.String rootModuleConf)

getAllCallersModuleIds

public java.util.Collection getAllCallersModuleIds()

getAllCallers

public IvyNodeCallers.Caller[] getAllCallers()

addCaller

public void addCaller(java.lang.String rootModuleConf,
                      IvyNode callerNode,
                      java.lang.String callerConf,
                      java.lang.String[] dependencyConfs,
                      DependencyDescriptor dd)

doesCallersExclude

public boolean doesCallersExclude(java.lang.String rootModuleConf,
                                  Artifact artifact,
                                  java.util.Stack callersStack)

getResolvedNodes

public java.util.Collection getResolvedNodes(ModuleId moduleId,
                                             java.lang.String rootModuleConf)

getResolvedRevisions

public java.util.Collection getResolvedRevisions(ModuleId moduleId,
                                                 java.lang.String rootModuleConf)

markEvicted

public void markEvicted(IvyNodeEviction.EvictionData evictionData)

getAllEvictingConflictManagers

public java.util.Collection getAllEvictingConflictManagers()

getAllEvictingNodes

public java.util.Collection getAllEvictingNodes()

getEvictedConfs

public java.lang.String[] getEvictedConfs()

getEvictedData

public IvyNodeEviction.EvictionData getEvictedData(java.lang.String rootModuleConf)

getEvictedNodes

public java.util.Collection getEvictedNodes(ModuleId mid,
                                            java.lang.String rootModuleConf)

getEvictedRevisions

public java.util.Collection getEvictedRevisions(ModuleId mid,
                                                java.lang.String rootModuleConf)

getEvictionDataInRoot

public IvyNodeEviction.EvictionData getEvictionDataInRoot(java.lang.String rootModuleConf,
                                                          IvyNode ancestor)

isCompletelyEvicted

public boolean isCompletelyEvicted()

isEvicted

public boolean isEvicted(java.lang.String rootModuleConf)

markEvicted

public void markEvicted(java.lang.String rootModuleConf,
                        IvyNode node,
                        ConflictManager conflictManager,
                        java.util.Collection resolved)

setEvictedNodes

public void setEvictedNodes(ModuleId moduleId,
                            java.lang.String rootModuleConf,
                            java.util.Collection evicted)

setResolvedNodes

public void setResolvedNodes(ModuleId moduleId,
                             java.lang.String rootModuleConf,
                             java.util.Collection resolved)

toString

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

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(java.lang.Object obj)
Specified by:
compareTo in interface java.lang.Comparable

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

getPendingConflicts

public java.util.Collection getPendingConflicts(java.lang.String rootModuleConf,
                                                ModuleId mid)
Returns a collection of Nodes in conflict for which conflict has been detected but conflict resolution hasn't been done yet

Parameters:
rootModuleConf -
mid - the module id for which pending conflicts should be found
Returns:
a Collection of IvyNode in pending conflict

setPendingConflicts

public void setPendingConflicts(ModuleId moduleId,
                                java.lang.String rootModuleConf,
                                java.util.Collection conflicts)