Class Dependency

java.lang.Object
org.eclipse.aether.graph.Dependency

public final class Dependency extends Object
A dependency to some artifact. Note: Instances of this class are immutable and the exposed mutators return new objects rather than changing the current instance.
  • Constructor Details

    • Dependency

      public Dependency(Artifact artifact, String scope)
      Creates a mandatory dependency on the specified artifact with the given scope.
      Parameters:
      artifact - The artifact being depended on, must not be null.
      scope - The scope of the dependency, may be null.
    • Dependency

      public Dependency(Artifact artifact, String scope, Boolean optional)
      Creates a dependency on the specified artifact with the given scope.
      Parameters:
      artifact - The artifact being depended on, must not be null.
      scope - The scope of the dependency, may be null.
      optional - A flag whether the dependency is optional or mandatory, may be null.
    • Dependency

      public Dependency(Artifact artifact, String scope, Boolean optional, Collection<Exclusion> exclusions)
      Creates a dependency on the specified artifact with the given scope and exclusions.
      Parameters:
      artifact - The artifact being depended on, must not be null.
      scope - The scope of the dependency, may be null.
      optional - A flag whether the dependency is optional or mandatory, may be null.
      exclusions - The exclusions that apply to transitive dependencies, may be null if none.
  • Method Details

    • getArtifact

      Gets the artifact being depended on.
      Returns:
      The artifact, never null.
    • setArtifact

      public Dependency setArtifact(Artifact artifact)
      Sets the artifact being depended on.
      Parameters:
      artifact - The artifact, must not be null.
      Returns:
      The new dependency, never null.
    • getScope

      public String getScope()
      Gets the scope of the dependency. The scope defines in which context this dependency is relevant.
      Returns:
      The scope or an empty string if not set, never null.
    • setScope

      public Dependency setScope(String scope)
      Sets the scope of the dependency, e.g. "compile".
      Parameters:
      scope - The scope of the dependency, may be null.
      Returns:
      The new dependency, never null.
    • isOptional

      public boolean isOptional()
      Indicates whether this dependency is optional or not. Optional dependencies can be ignored in some contexts.
      Returns:
      true if the dependency is (definitively) optional, false otherwise.
    • getOptional

      public Boolean getOptional()
      Gets the optional flag for the dependency. Note: Most clients will usually call isOptional() to determine the optional flag, this method is for advanced use cases where three-valued logic is required.
      Returns:
      The optional flag or null if unspecified.
    • setOptional

      public Dependency setOptional(Boolean optional)
      Sets the optional flag for the dependency.
      Parameters:
      optional - true if the dependency is optional, false if the dependency is mandatory, may be null if unspecified.
      Returns:
      The new dependency, never null.
    • getExclusions

      Gets the exclusions for this dependency. Exclusions can be used to remove transitive dependencies during resolution.
      Returns:
      The (read-only) exclusions, never null.
    • setExclusions

      Sets the exclusions for the dependency.
      Parameters:
      exclusions - The exclusions, may be null.
      Returns:
      The new dependency, never null.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object