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.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getArtifactId()
      Gets the artifact identifier of this artifact, for example "maven-model".
      java.lang.String getBaseVersion()
      Gets the base version of this artifact, for example "1.0-SNAPSHOT".
      java.lang.String getClassifier()
      Gets the classifier of this artifact, for example "sources".
      java.lang.String getExtension()
      Gets the (file) extension of this artifact, for example "jar" or "tar.gz".
      java.io.File getFile()
      Gets the file of this artifact.
      java.lang.String getGroupId()
      Gets the group identifier of this artifact, for example "org.apache.maven".
      java.util.Map<java.lang.String,​java.lang.String> getProperties()
      Gets the properties of this artifact.
      java.lang.String getProperty​(java.lang.String key, java.lang.String defaultValue)
      Gets the specified property.
      java.lang.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​(java.io.File file)
      Sets the file of the artifact.
      Artifact setProperties​(java.util.Map<java.lang.String,​java.lang.String> properties)
      Sets the properties for the artifact.
      Artifact setVersion​(java.lang.String version)
      Sets the version of the artifact.
    • Method Detail

      • getGroupId

        java.lang.String getGroupId()
        Gets the group identifier of this artifact, for example "org.apache.maven".
        Returns:
        The group identifier, never null.
      • getArtifactId

        java.lang.String getArtifactId()
        Gets the artifact identifier of this artifact, for example "maven-model".
        Returns:
        The artifact identifier, never null.
      • getVersion

        java.lang.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​(java.lang.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

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

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

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

        java.io.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​(java.io.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

        java.lang.String getProperty​(java.lang.String key,
                                     java.lang.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

        java.util.Map<java.lang.String,​java.lang.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​(java.util.Map<java.lang.String,​java.lang.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