org.eclipse.aether.artifact

## Interface Artifact

- All Known Implementing Classes:
    AbstractArtifact, DefaultArtifact, DelegatingArtifact, SubArtifact

      public interface Artifact

  A specific artifact. In a nutshell, an artifact has identifying coordinates and optionally a file that denotes its data. Note: Artifact instances are supposed to be immutable, e.g. any exposed mutator method returns a new artifact instance and leaves the original instance unchanged. Note: Implementors are strongly advised to inherit from `AbstractArtifact` instead of directly implementing this interface.
  Restriction:
    This interface is not intended to be extended by clients.
  Restriction:
    This interface is not intended to be implemented by clients.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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" or "tar.gz".
    `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".
    `boolean` | `isSnapshot()` Determines whether this artifact uses a snapshot version.
    `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.

- - ### Method Detail

    - #### getGroupId

          String getGroupId()

      Gets the group identifier of this artifact, for example "org.apache.maven".
      Returns:
        The group identifier, never `null`.

    - #### getArtifactId

          String getArtifactId()

      Gets the artifact identifier of this artifact, for example "maven-model".
      Returns:
        The artifact identifier, never `null`.

    - #### getVersion

          String getVersion()

      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

          Artifact setVersion(String version)

      Sets the version of the artifact.
      Parameters:
        `version` - The version of this artifact, may be `null` or empty.
      Returns:
        The new artifact, never `null`.

    - #### getBaseVersion

          String getBaseVersion()

      Gets the base version of this artifact, for example "1.0-SNAPSHOT". In contrast to the `getVersion()`, the base version will always refer to the unresolved meta version.
      Returns:
        The base version, never `null`.

    - #### isSnapshot

          boolean isSnapshot()

      Determines whether this artifact uses a snapshot version.
      Returns:
        `true` if the artifact is a snapshot, `false` otherwise.

    - #### getClassifier

          String getClassifier()

      Gets the classifier of this artifact, for example "sources".
      Returns:
        The classifier or an empty string if none, never `null`.

    - #### getExtension

          String getExtension()

      Gets the (file) extension of this artifact, for example "jar" or "tar.gz".
      Returns:
        The file extension (without leading period), never `null`.

    - #### getFile

          File getFile()

      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

          Artifact setFile(File file)

      Sets the file of the artifact.
      Parameters:
        `file` - The file of the artifact, may be `null`
      Returns:
        The new artifact, never `null`.

    - #### getProperty

          String getProperty(String key,
                           String defaultValue)

      Gets the specified property.
      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

          Map<String,String> getProperties()

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

    - #### setProperties

          Artifact setProperties(Map<String,String> properties)

      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.
      Parameters:
        `properties` - The properties for the artifact, may be `null`.
      Returns:
        The new artifact, never `null`.
      See Also:
        `ArtifactProperties`

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