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 Details

    • getGroupId

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

      Gets the artifact identifier of this artifact, for example "maven-model".
      Returns:
      The artifact identifier, never null.
    • 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

      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

      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

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

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

      Deprecated.
      Use getPath() instead.
      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

      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.
      Since:
      2.0.0
    • setFile

      Deprecated.
      Use setPath(Path) instead.
      Sets the file of the artifact.
      Parameters:
      file - The file of the artifact, may be null
      Returns:
      The new artifact, never null.
    • setPath

      Sets the file of the artifact.
      Parameters:
      path - The file of the artifact, may be null
      Returns:
      The new artifact, never null.
      Since:
      2.0.0
    • 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:
    • 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:
    • setProperties

      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: