Class SubArtifact

  • All Implemented Interfaces:
    Artifact

    public final class SubArtifact
    extends AbstractArtifact
    An artifact whose identity is derived from another artifact. Note: Instances of this class are immutable and the exposed mutators return new objects rather than changing the current instance.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String classifier  
      private java.lang.String extension  
      private java.io.File file  
      private Artifact mainArtifact  
      private java.util.Map<java.lang.String,​java.lang.String> properties  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        SubArtifact​(Artifact mainArtifact, java.lang.String classifier, java.lang.String extension)
      Creates a new sub artifact.
        SubArtifact​(Artifact mainArtifact, java.lang.String classifier, java.lang.String extension, java.io.File file)
      Creates a new sub artifact.
      private SubArtifact​(Artifact mainArtifact, java.lang.String classifier, java.lang.String extension, java.io.File file, java.util.Map<java.lang.String,​java.lang.String> properties)  
        SubArtifact​(Artifact mainArtifact, java.lang.String classifier, java.lang.String extension, java.util.Map<java.lang.String,​java.lang.String> properties)
      Creates a new sub artifact.
        SubArtifact​(Artifact mainArtifact, java.lang.String classifier, java.lang.String extension, java.util.Map<java.lang.String,​java.lang.String> properties, java.io.File file)
      Creates a new sub artifact.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String expand​(java.lang.String pattern, java.lang.String replacement)  
      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 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.
      • Methods inherited from class java.lang.Object

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

      • mainArtifact

        private final Artifact mainArtifact
      • classifier

        private final java.lang.String classifier
      • extension

        private final java.lang.String extension
      • file

        private final java.io.File file
      • properties

        private final java.util.Map<java.lang.String,​java.lang.String> properties
    • Constructor Detail

      • SubArtifact

        public SubArtifact​(Artifact mainArtifact,
                           java.lang.String classifier,
                           java.lang.String extension)
        Creates a new sub artifact. The classifier and extension specified for this artifact may use the asterisk character "*" to refer to the corresponding property of the main artifact. For instance, the classifier "*-sources" can be used to refer to the source attachment of an artifact. Likewise, the extension "*.asc" can be used to refer to the GPG signature of an artifact.
        Parameters:
        mainArtifact - The artifact from which to derive the identity, must not be null.
        classifier - The classifier for this artifact, may be null if none.
        extension - The extension for this artifact, may be null if none.
      • SubArtifact

        public SubArtifact​(Artifact mainArtifact,
                           java.lang.String classifier,
                           java.lang.String extension,
                           java.io.File file)
        Creates a new sub artifact. The classifier and extension specified for this artifact may use the asterisk character "*" to refer to the corresponding property of the main artifact. For instance, the classifier "*-sources" can be used to refer to the source attachment of an artifact. Likewise, the extension "*.asc" can be used to refer to the GPG signature of an artifact.
        Parameters:
        mainArtifact - The artifact from which to derive the identity, must not be null.
        classifier - The classifier for this artifact, may be null if none.
        extension - The extension for this artifact, may be null if none.
        file - The file for this artifact, may be null if unresolved.
      • SubArtifact

        public SubArtifact​(Artifact mainArtifact,
                           java.lang.String classifier,
                           java.lang.String extension,
                           java.util.Map<java.lang.String,​java.lang.String> properties)
        Creates a new sub artifact. The classifier and extension specified for this artifact may use the asterisk character "*" to refer to the corresponding property of the main artifact. For instance, the classifier "*-sources" can be used to refer to the source attachment of an artifact. Likewise, the extension "*.asc" can be used to refer to the GPG signature of an artifact.
        Parameters:
        mainArtifact - The artifact from which to derive the identity, must not be null.
        classifier - The classifier for this artifact, may be null if none.
        extension - The extension for this artifact, may be null if none.
        properties - The properties of the artifact, may be null.
      • SubArtifact

        public SubArtifact​(Artifact mainArtifact,
                           java.lang.String classifier,
                           java.lang.String extension,
                           java.util.Map<java.lang.String,​java.lang.String> properties,
                           java.io.File file)
        Creates a new sub artifact. The classifier and extension specified for this artifact may use the asterisk character "*" to refer to the corresponding property of the main artifact. For instance, the classifier "*-sources" can be used to refer to the source attachment of an artifact. Likewise, the extension "*.asc" can be used to refer to the GPG signature of an artifact.
        Parameters:
        mainArtifact - The artifact from which to derive the identity, must not be null.
        classifier - The classifier for this artifact, may be null if none.
        extension - The extension for this artifact, may be null if none.
        properties - The properties of the artifact, may be null.
        file - The file for this artifact, may be null if unresolved.
      • SubArtifact

        private SubArtifact​(Artifact mainArtifact,
                            java.lang.String classifier,
                            java.lang.String extension,
                            java.io.File file,
                            java.util.Map<java.lang.String,​java.lang.String> properties)
    • Method Detail

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

        private static java.lang.String expand​(java.lang.String pattern,
                                               java.lang.String replacement)