Class DelegatingArtifact

java.lang.Object
org.eclipse.aether.artifact.AbstractArtifact
org.eclipse.aether.util.artifact.DelegatingArtifact
All Implemented Interfaces:
Artifact

public abstract class DelegatingArtifact extends AbstractArtifact
An artifact that delegates to another artifact instance. This class serves as a base for subclasses that want to carry additional data fields.
  • Constructor Details

    • DelegatingArtifact

      protected DelegatingArtifact(Artifact delegate)
      Creates a new artifact instance that delegates to the specified artifact.
      Parameters:
      delegate - The artifact to delegate to, must not be null.
  • Method Details

    • newInstance

      protected abstract DelegatingArtifact newInstance(Artifact delegate)
      Creates a new artifact instance that delegates to the specified artifact. Subclasses should use this hook to instantiate themselves, taking along any data from the current instance that was added.
      Parameters:
      delegate - The artifact to delegate to, must not be null.
      Returns:
      The new delegating artifact, never null.
    • getGroupId

      public String getGroupId()
      Description copied from interface: Artifact
      Gets the group identifier of this artifact, for example "org.apache.maven".
      Returns:
      The group identifier, never null.
    • getArtifactId

      Description copied from interface: Artifact
      Gets the artifact identifier of this artifact, for example "maven-model".
      Returns:
      The artifact identifier, never null.
    • getVersion

      public String getVersion()
      Description copied from interface: Artifact
      Gets the version of this artifact, for example "1.0-20100529-1213". Note that in case of meta versions like "1.0-SNAPSHOT", the artifact's version depends on the state of the artifact. Artifacts that have been resolved or deployed will usually have the meta version expanded. This may also return version ranges like "[1.0,2.0)". The exact syntax for (meta) versions and version ranges depends on the underlying provider (encapsulated in RepositorySystem).
      Returns:
      The version, never null.
    • setVersion

      public Artifact setVersion(String version)
      Description copied from interface: Artifact
      Sets the version of the artifact.
      Specified by:
      setVersion in interface Artifact
      Overrides:
      setVersion in class AbstractArtifact
      Parameters:
      version - The version of this artifact, may be null or empty.
      Returns:
      The new artifact, never null.
    • getBaseVersion

      Description copied from interface: Artifact
      Gets the base version of this artifact, for example "1.0-SNAPSHOT". In contrast to the Artifact.getVersion(), the base version will always refer to the unresolved meta version.
      Specified by:
      getBaseVersion in interface Artifact
      Overrides:
      getBaseVersion in class AbstractArtifact
      Returns:
      The base version, never null.
    • isSnapshot

      public boolean isSnapshot()
      Description copied from interface: Artifact
      Determines whether this artifact uses a snapshot version.
      Specified by:
      isSnapshot in interface Artifact
      Overrides:
      isSnapshot in class AbstractArtifact
      Returns:
      true if the artifact is a snapshot, false otherwise.
    • getClassifier

      Description copied from interface: Artifact
      Gets the classifier of this artifact, for example "sources".
      Returns:
      The classifier or an empty string if none, never null.
    • getExtension

      public String getExtension()
      Description copied from interface: Artifact
      Gets the (file) extension of this artifact, for example "jar" or "tar.gz".
      Returns:
      The file extension (without leading period), never null.
    • getFile

      Deprecated.
      Description copied from interface: Artifact
      Gets the file of this artifact. Note that only resolved artifacts have a file associated with them. In general, callers must not assume any relationship between an artifact's filename and its coordinates.
      Returns:
      The file or null if the artifact isn't resolved.
    • getPath

      public Path getPath()
      Description copied from class: AbstractArtifact
      This method should (and in Resolver is) overridden, but is kept just to preserve backward compatibility if this class is extended somewhere.
      Specified by:
      getPath in interface Artifact
      Overrides:
      getPath in class AbstractArtifact
      Returns:
      The file or null if the artifact isn't resolved.
    • setFile

      Deprecated.
      Description copied from interface: Artifact
      Sets the file of the artifact.
      Specified by:
      setFile in interface Artifact
      Overrides:
      setFile in class AbstractArtifact
      Parameters:
      file - The file of the artifact, may be null
      Returns:
      The new artifact, never null.
    • setPath

      public Artifact setPath(Path path)
      Description copied from interface: Artifact
      Sets the file of the artifact.
      Specified by:
      setPath in interface Artifact
      Overrides:
      setPath in class AbstractArtifact
      Parameters:
      path - The file of the artifact, may be null
      Returns:
      The new artifact, never null.
    • getProperty

      public String getProperty(String key, String defaultValue)
      Description copied from interface: Artifact
      Gets the specified property.
      Specified by:
      getProperty in interface Artifact
      Overrides:
      getProperty in class AbstractArtifact
      Parameters:
      key - The name of the property, must not be null.
      defaultValue - The default value to return in case the property is not set, may be null.
      Returns:
      The requested property value or null if the property is not set and no default value was provided.
      See Also:
    • getProperties

      Description copied from interface: Artifact
      Gets the properties of this artifact. Clients may use these properties to associate non-persistent values with an artifact that help later processing when the artifact gets passed around within the application.
      Returns:
      The (read-only) properties, never null.
      See Also:
    • setProperties

      public Artifact setProperties(Map<String,String> properties)
      Description copied from interface: Artifact
      Sets the properties for the artifact. Note that these properties exist merely in memory and are not persisted when the artifact gets installed/deployed to a repository.
      Specified by:
      setProperties in interface Artifact
      Overrides:
      setProperties in class AbstractArtifact
      Parameters:
      properties - The properties for the artifact, may be null.
      Returns:
      The new artifact, never null.
      See Also:
    • equals

      public boolean equals(Object obj)
      Description copied from class: AbstractArtifact
      Compares this artifact with the specified object.
      Overrides:
      equals in class AbstractArtifact
      Parameters:
      obj - The object to compare this artifact against, may be null.
      Returns:
      true if and only if the specified object is another Artifact with equal coordinates, properties and file, false otherwise.
    • hashCode

      public int hashCode()
      Description copied from class: AbstractArtifact
      Returns a hash code for this artifact.
      Overrides:
      hashCode in class AbstractArtifact
      Returns:
      A hash code for the artifact.
    • toString

      public String toString()
      Overrides:
      toString in class AbstractArtifact