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

      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: