org.eclipse.aether.util.artifact

## 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 Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `DelegatingArtifact(Artifact delegate)` Creates a new artifact instance that delegates to the specified artifact.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Compares this artifact with the specified object.
    `String` | `getArtifactId()` Gets the artifact identifier of this artifact, for example "maven-model".
    `String` | `getBaseVersion()` Gets the base version of this artifact, for example "1.0-SNAPSHOT".
    `String` | `getClassifier()` Gets the classifier of this artifact, for example "sources".
    `String` | `getExtension()` Gets the (file) extension of this artifact, for example "jar".
    `File` | `getFile()` Gets the file of this artifact.
    `String` | `getGroupId()` Gets the group identifier of this artifact, for example "org.apache.maven".
    `Map<String,String>` | `getProperties()` Gets the properties of this artifact.
    `String` | `getProperty(String key, String defaultValue)` Gets the specified property.
    `String` | `getVersion()` Gets the version of this artifact, for example "1.0-20100529-1213".
    `int` | `hashCode()` Returns a hash code for this artifact.
    `boolean` | `isSnapshot()` Determines whether this artifact uses a snapshot version.
    `protected abstract DelegatingArtifact` | `newInstance(Artifact delegate)` Creates a new artifact instance that delegates to the specified artifact.
    `Artifact` | `setFile(File file)` Sets the file of the artifact.
    `Artifact` | `setProperties(Map<String,String> properties)` Sets the properties for the artifact.
    `Artifact` | `setVersion(String version)` Sets the version of the artifact.
    `String` | `toString()`

    - ### Methods inherited from class org.eclipse.aether.artifact.AbstractArtifact

      `copyProperties`

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

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

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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

          public String 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.
      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

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

          public String 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".
      Returns:
        The file extension, never `null`.

    - #### getFile

          public File getFile()

      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.

    - #### setFile

          public Artifact setFile(File file)

      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`.

    - #### 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:
        `ArtifactProperties`

    - #### getProperties

          public Map<String,String> getProperties()

      Description copied from interface: `Artifact`
      Gets the properties of this artifact.
      Returns:
        The (read-only) properties, never `null`.
      See Also:
        `ArtifactProperties`

    - #### setProperties

          public Artifact setProperties(Map<String,String> properties)

      Description copied from interface: `Artifact`
      Sets the properties for the artifact.
      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:
        `ArtifactProperties`

    - #### 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`

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