Class SubArtifact

java.lang.Object
org.eclipse.aether.artifact.AbstractArtifact
org.eclipse.aether.util.artifact.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.
  • Constructor Details

    • SubArtifact

      public SubArtifact(Artifact mainArtifact, String classifier, 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, String classifier, String extension, 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, String classifier, String extension, Path path)
      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.
      path - The file for this artifact, may be null if unresolved.
      Since:
      2.0.0
    • SubArtifact

      public SubArtifact(Artifact mainArtifact, String classifier, String extension, Map<String,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, String classifier, String extension, Map<String,String> properties, 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

      public SubArtifact(Artifact mainArtifact, String classifier, String extension, Map<String,String> properties, Path path)
      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.
      path - The file for this artifact, may be null if unresolved.
      Since:
      2.0.0
  • Method Details

    • getGroupId

      public 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

      Description copied from interface: Artifact
      Gets the artifact identifier of this artifact, for example "maven-model".
      Returns:
      The artifact identifier, never null.
    • getVersion

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

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

      Deprecated.
      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.
    • getPath

      public Path getPath()
      Description copied from class: AbstractArtifact
      This method should (and in Resolver is) overridden, but is kept just to preserve backward compatibility if this class is extended somewhere.
      Specified by:
      getPath in interface Artifact
      Overrides:
      getPath in class AbstractArtifact
      Returns:
      The file or null if the artifact isn't resolved.
    • setFile

      Deprecated.
      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.
    • setPath

      public Artifact setPath(Path path)
      Description copied from interface: Artifact
      Sets the file of the artifact.
      Specified by:
      setPath in interface Artifact
      Overrides:
      setPath in class AbstractArtifact
      Parameters:
      path - The file of the artifact, may be null
      Returns:
      The new artifact, never null.
    • 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:
    • setProperties

      public Artifact setProperties(Map<String,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: