org.eclipse.aether.graph

## Class DefaultDependencyNode

- java.lang.Object
- - org.eclipse.aether.graph.DefaultDependencyNode

- All Implemented Interfaces:
    DependencyNode

      public final class DefaultDependencyNode
      extends Object
      implements DependencyNode

  A node within a dependency graph.

- - ### Field Summary

    - ### Fields inherited from interface org.eclipse.aether.graph.DependencyNode

      `MANAGED_EXCLUSIONS, MANAGED_OPTIONAL, MANAGED_PROPERTIES, MANAGED_SCOPE, MANAGED_VERSION`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultDependencyNode(Artifact artifact)` Creates a new root node with the specified artifact as its label.
    `DefaultDependencyNode(Dependency dependency)` Creates a new node with the specified dependency.
    `DefaultDependencyNode(DependencyNode node)` Creates a mostly shallow clone of the specified node.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `accept(DependencyVisitor visitor)` Traverses this node and potentially its children using the specified visitor.
    `Collection<? extends Artifact>` | `getAliases()` Gets the known aliases for this dependency's artifact.
    `Artifact` | `getArtifact()` Gets the artifact associated with this node.
    `List<DependencyNode>` | `getChildren()` Gets the child nodes of this node.
    `Map<Object,Object>` | `getData()` Gets the custom data associated with this dependency node.
    `Dependency` | `getDependency()` Gets the dependency associated with this node.
    `int` | `getManagedBits()` Gets a bit field indicating which attributes of this node were subject to dependency management.
    `List<? extends Artifact>` | `getRelocations()` Gets the sequence of relocations that was followed to resolve the artifact referenced by the dependency.
    `List<RemoteRepository>` | `getRepositories()` Gets the remote repositories from which this node's artifact shall be resolved.
    `String` | `getRequestContext()` Gets the request context in which this dependency node was created.
    `Version` | `getVersion()` Gets the version that was selected for the dependency's target artifact.
    `VersionConstraint` | `getVersionConstraint()` Gets the version constraint that was parsed from the dependency's version declaration.
    `void` | `setAliases(Collection<? extends Artifact> aliases)` Sets the known aliases for this dependency's artifact.
    `void` | `setArtifact(Artifact artifact)` Updates the artifact of the dependency after resolution.
    `void` | `setChildren(List<DependencyNode> children)` Sets the child nodes of this node.
    `void` | `setData(Map<Object,Object> data)` Sets the custom data associated with this dependency node.
    `void` | `setData(Object key, Object value)` Associates the specified dependency node data with the given key.
    `void` | `setManagedBits(int managedBits)` Sets a bit field indicating which attributes of this node were subject to dependency management.
    `void` | `setOptional(Boolean optional)` Sets the optional flag of the dependency.
    `void` | `setRelocations(List<? extends Artifact> relocations)` Sets the sequence of relocations that was followed to resolve this dependency's artifact.
    `void` | `setRepositories(List<RemoteRepository> repositories)` Sets the remote repositories from which this node's artifact shall be resolved.
    `void` | `setRequestContext(String context)` Sets the request context in which this dependency node was created.
    `void` | `setScope(String scope)` Sets the scope of the dependency.
    `void` | `setVersion(Version version)`
    `void` | `setVersionConstraint(VersionConstraint versionConstraint)`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultDependencyNode

          public DefaultDependencyNode(Dependency dependency)

      Creates a new node with the specified dependency.
      Parameters:
        `dependency` - The dependency associated with this node, may be `null` for a root node.

    - #### DefaultDependencyNode

          public DefaultDependencyNode(Artifact artifact)

      Creates a new root node with the specified artifact as its label. Note that the new node has no dependency, i.e. `getDependency()` will return `null`. Put differently, the specified artifact will not be subject to dependency collection/resolution.
      Parameters:
        `artifact` - The artifact to use as label for this node, may be `null`.

    - #### DefaultDependencyNode

          public DefaultDependencyNode(DependencyNode node)

      Creates a mostly shallow clone of the specified node. The new node has its own copy of any custom data and initially no children.
      Parameters:
        `node` - The node to copy, must not be `null`.

  - ### Method Detail

    - #### getChildren

          public List<DependencyNode> getChildren()

      Description copied from interface: `DependencyNode`
      Gets the child nodes of this node. To conserve memory, dependency nodes with equal dependencies may share the same child list instance. Hence clients mutating the child list need to be aware that these changes might affect more than this node. Where this is not desired, the child list should be copied before mutation if the client cannot be sure whether it might be shared with other nodes in the graph.
      Specified by:
        `getChildren` in interface `DependencyNode`
      Returns:
        The child nodes of this node, never `null`.

    - #### setChildren

          public void setChildren(List<DependencyNode> children)

      Description copied from interface: `DependencyNode`
      Sets the child nodes of this node.
      Specified by:
        `setChildren` in interface `DependencyNode`
      Parameters:
        `children` - The child nodes, may be `null`

    - #### getDependency

          public Dependency getDependency()

      Description copied from interface: `DependencyNode`
      Gets the dependency associated with this node. Note: For dependency graphs that have been constructed without a root dependency, this method will yield `null` when invoked on the graph's root node. The root node of such graphs may however still have a label as returned by `DependencyNode.getArtifact()`.
      Specified by:
        `getDependency` in interface `DependencyNode`
      Returns:
        The dependency or `null` if none.

    - #### getArtifact

          public Artifact getArtifact()

      Description copied from interface: `DependencyNode`
      Gets the artifact associated with this node. If this node is associated with a dependency, this is equivalent to `getDependency().getArtifact()`. Otherwise the artifact merely provides a label for this node in which case the artifact must not be subjected to dependency collection/resolution.
      Specified by:
        `getArtifact` in interface `DependencyNode`
      Returns:
        The associated artifact or `null` if none.

    - #### setArtifact

          public void setArtifact(Artifact artifact)

      Description copied from interface: `DependencyNode`
      Updates the artifact of the dependency after resolution. The new artifact must have the same coordinates as the original artifact. This method may only be invoked if this node actually has a dependency, i.e. if `DependencyNode.getDependency()` is not null.
      Specified by:
        `setArtifact` in interface `DependencyNode`
      Parameters:
        `artifact` - The artifact satisfying the dependency, must not be `null`.

    - #### getRelocations

          public List<? extends Artifact> getRelocations()

      Description copied from interface: `DependencyNode`
      Gets the sequence of relocations that was followed to resolve the artifact referenced by the dependency.
      Specified by:
        `getRelocations` in interface `DependencyNode`
      Returns:
        The (read-only) sequence of relocations, never `null`.

    - #### setRelocations

          public void setRelocations(List<? extends Artifact> relocations)

      Sets the sequence of relocations that was followed to resolve this dependency's artifact.
      Parameters:
        `relocations` - The sequence of relocations, may be `null`.

    - #### getAliases

          public Collection<? extends Artifact> getAliases()

      Description copied from interface: `DependencyNode`
      Gets the known aliases for this dependency's artifact. An alias can be used to mark a patched rebuild of some other artifact as such, thereby allowing conflict resolution to consider the patched and the original artifact as a conflict.
      Specified by:
        `getAliases` in interface `DependencyNode`
      Returns:
        The (read-only) set of known aliases, never `null`.

    - #### setAliases

          public void setAliases(Collection<? extends Artifact> aliases)

      Sets the known aliases for this dependency's artifact.
      Parameters:
        `aliases` - The known aliases, may be `null`.

    - #### getVersionConstraint

          public VersionConstraint getVersionConstraint()

      Description copied from interface: `DependencyNode`
      Gets the version constraint that was parsed from the dependency's version declaration.
      Specified by:
        `getVersionConstraint` in interface `DependencyNode`
      Returns:
        The version constraint for this node or `null`.

    - #### setVersionConstraint

          public void setVersionConstraint(VersionConstraint versionConstraint)

    - #### getVersion

          public Version getVersion()

      Description copied from interface: `DependencyNode`
      Gets the version that was selected for the dependency's target artifact.
      Specified by:
        `getVersion` in interface `DependencyNode`
      Returns:
        The parsed version or `null`.

    - #### setVersion

          public void setVersion(Version version)

    - #### setScope

          public void setScope(String scope)

      Description copied from interface: `DependencyNode`
      Sets the scope of the dependency. This method may only be invoked if this node actually has a dependency, i.e. if `DependencyNode.getDependency()` is not null.
      Specified by:
        `setScope` in interface `DependencyNode`
      Parameters:
        `scope` - The scope, may be `null`.

    - #### setOptional

          public void setOptional(Boolean optional)

      Description copied from interface: `DependencyNode`
      Sets the optional flag of the dependency. This method may only be invoked if this node actually has a dependency, i.e. if `DependencyNode.getDependency()` is not null.
      Specified by:
        `setOptional` in interface `DependencyNode`
      Parameters:
        `optional` - The optional flag, may be `null`.

    - #### getManagedBits

          public int getManagedBits()

      Description copied from interface: `DependencyNode`
      Gets a bit field indicating which attributes of this node were subject to dependency management.
      Specified by:
        `getManagedBits` in interface `DependencyNode`
      Returns:
        A bit field containing any of the bits `DependencyNode.MANAGED_VERSION`, `DependencyNode.MANAGED_SCOPE`, `DependencyNode.MANAGED_OPTIONAL`, `DependencyNode.MANAGED_PROPERTIES` and `DependencyNode.MANAGED_EXCLUSIONS` if the corresponding attribute was set via dependency management.

    - #### setManagedBits

          public void setManagedBits(int managedBits)

      Sets a bit field indicating which attributes of this node were subject to dependency management.
      Parameters:
        `managedBits` - The bit field indicating the managed attributes or `0` if dependency management wasn't applied.

    - #### getRepositories

          public List<RemoteRepository> getRepositories()

      Description copied from interface: `DependencyNode`
      Gets the remote repositories from which this node's artifact shall be resolved.
      Specified by:
        `getRepositories` in interface `DependencyNode`
      Returns:
        The (read-only) list of remote repositories to use for artifact resolution, never `null`.

    - #### setRepositories

          public void setRepositories(List<RemoteRepository> repositories)

      Sets the remote repositories from which this node's artifact shall be resolved.
      Parameters:
        `repositories` - The remote repositories to use for artifact resolution, may be `null`.

    - #### getRequestContext

          public String getRequestContext()

      Description copied from interface: `DependencyNode`
      Gets the request context in which this dependency node was created.
      Specified by:
        `getRequestContext` in interface `DependencyNode`
      Returns:
        The request context, never `null`.

    - #### setRequestContext

          public void setRequestContext(String context)

      Description copied from interface: `DependencyNode`
      Sets the request context in which this dependency node was created.
      Specified by:
        `setRequestContext` in interface `DependencyNode`
      Parameters:
        `context` - The context, may be `null`.

    - #### getData

          public Map<Object,Object> getData()

      Description copied from interface: `DependencyNode`
      Gets the custom data associated with this dependency node. Clients of the repository system can use this data to annotate dependency nodes with domain-specific information. Note that the returned map is read-only and `DependencyNode.setData(Object, Object)` needs to be used to update the custom data.
      Specified by:
        `getData` in interface `DependencyNode`
      Returns:
        The (read-only) key-value mappings, never `null`.

    - #### setData

          public void setData(Map<Object,Object> data)

      Description copied from interface: `DependencyNode`
      Sets the custom data associated with this dependency node.
      Specified by:
        `setData` in interface `DependencyNode`
      Parameters:
        `data` - The new custom data, may be `null`.

    - #### setData

          public void setData(Object key,
                     Object value)

      Description copied from interface: `DependencyNode`
      Associates the specified dependency node data with the given key. Note: This method must not be called while `DependencyNode.getData()` is being iterated.
      Specified by:
        `setData` in interface `DependencyNode`
      Parameters:
        `key` - The key under which to store the data, must not be `null`.
        `value` - The data to associate with the key, may be `null` to remove the mapping.

    - #### accept

          public boolean accept(DependencyVisitor visitor)

      Description copied from interface: `DependencyNode`
      Traverses this node and potentially its children using the specified visitor.
      Specified by:
        `accept` in interface `DependencyNode`
      Parameters:
        `visitor` - The visitor to call back, must not be `null`.
      Returns:
        `true` to visit siblings nodes of this node as well, `false` to skip siblings.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2010-2013 The Eclipse Foundation. All Rights Reserved.