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 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,​StringgetProperties()
        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