Class DelegatingArtifact

  • All Implemented Interfaces:
    Artifact

    public abstract class DelegatingArtifact
    extends AbstractArtifact
    An artifact that delegates to another artifact instance. This class serves as a base for subclasses that want to carry additional data fields.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private Artifact delegate  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected DelegatingArtifact​(Artifact delegate)
      Creates a new artifact instance that delegates to the specified artifact.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)
      Compares this artifact with the specified object.
      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".
      int hashCode()
      Returns a hash code for this artifact.
      boolean isSnapshot()
      Determines whether this artifact uses a snapshot version.
      protected abstract DelegatingArtifact newInstance​(Artifact delegate)
      Creates a new artifact instance that delegates to the specified artifact.
      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.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • delegate

        private final Artifact delegate
    • Constructor Detail

      • DelegatingArtifact

        protected DelegatingArtifact​(Artifact delegate)
        Creates a new artifact instance that delegates to the specified artifact.
        Parameters:
        delegate - The artifact to delegate to, must not be null.
    • Method Detail

      • newInstance

        protected abstract DelegatingArtifact newInstance​(Artifact delegate)
        Creates a new artifact instance that delegates to the specified artifact. Subclasses should use this hook to instantiate themselves, taking along any data from the current instance that was added.
        Parameters:
        delegate - The artifact to delegate to, must not be null.
        Returns:
        The new delegating artifact, never null.
      • getGroupId

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

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

        public java.lang.String getVersion()
        Description copied from interface: Artifact
        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

        public Artifact setVersion​(java.lang.String version)
        Description copied from interface: Artifact
        Sets the version of the artifact.
        Specified by:
        setVersion in interface Artifact
        Overrides:
        setVersion in class AbstractArtifact
        Parameters:
        version - The version of this artifact, may be null or empty.
        Returns:
        The new artifact, never null.
      • getBaseVersion

        public java.lang.String getBaseVersion()
        Description copied from interface: Artifact
        Gets the base version of this artifact, for example "1.0-SNAPSHOT". In contrast to the Artifact.getVersion(), the base version will always refer to the unresolved meta version.
        Specified by:
        getBaseVersion in interface Artifact
        Overrides:
        getBaseVersion in class AbstractArtifact
        Returns:
        The base version, never null.
      • isSnapshot

        public boolean isSnapshot()
        Description copied from interface: Artifact
        Determines whether this artifact uses a snapshot version.
        Specified by:
        isSnapshot in interface Artifact
        Overrides:
        isSnapshot in class AbstractArtifact
        Returns:
        true if the artifact is a snapshot, false otherwise.
      • getClassifier

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

        public java.lang.String getExtension()
        Description copied from interface: Artifact
        Gets the (file) extension of this artifact, for example "jar" or "tar.gz".
        Returns:
        The file extension (without leading period), never null.
      • getFile

        public java.io.File getFile()
        Description copied from interface: Artifact
        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

        public Artifact setFile​(java.io.File file)
        Description copied from interface: Artifact
        Sets the file of the artifact.
        Specified by:
        setFile in interface Artifact
        Overrides:
        setFile in class AbstractArtifact
        Parameters:
        file - The file of the artifact, may be null
        Returns:
        The new artifact, never null.
      • getProperty

        public java.lang.String getProperty​(java.lang.String key,
                                            java.lang.String defaultValue)
        Description copied from interface: Artifact
        Gets the specified property.
        Specified by:
        getProperty in interface Artifact
        Overrides:
        getProperty in class AbstractArtifact
        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

        public java.util.Map<java.lang.String,​java.lang.String> getProperties()
        Description copied from interface: Artifact
        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

        public Artifact setProperties​(java.util.Map<java.lang.String,​java.lang.String> properties)
        Description copied from interface: Artifact
        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.
        Specified by:
        setProperties in interface Artifact
        Overrides:
        setProperties in class AbstractArtifact
        Parameters:
        properties - The properties for the artifact, may be null.
        Returns:
        The new artifact, never null.
        See Also:
        ArtifactProperties
      • equals

        public boolean equals​(java.lang.Object obj)
        Description copied from class: AbstractArtifact
        Compares this artifact with the specified object.
        Overrides:
        equals in class AbstractArtifact
        Parameters:
        obj - The object to compare this artifact against, may be null.
        Returns:
        true if and only if the specified object is another Artifact with equal coordinates, properties and file, false otherwise.
      • hashCode

        public int hashCode()
        Description copied from class: AbstractArtifact
        Returns a hash code for this artifact.
        Overrides:
        hashCode in class AbstractArtifact
        Returns:
        A hash code for the artifact.