org.sonatype.aether.artifact
Interface Artifact

All Known Implementing Classes:
AbstractArtifact, DefaultArtifact, DelegatingArtifact, StubArtifact, SubArtifact

public interface Artifact

A specific artifact. 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. Implementors are strongly advised to obey this contract.

Author:
Benjamin Bentmann

Method Summary
 String getArtifactId()
          Gets the artifact identifier of this artifact, for example "maven-model".
 String getBaseVersion()
          Gets the base version of this artifact, for example "1.0-SNAPSHOT".
 String getClassifier()
          Gets the classifier of this artifact, for example "sources".
 String getExtension()
          Gets the (file) extension of this artifact, for example "jar".
 File getFile()
          Gets the file of this artifact.
 String getGroupId()
          Gets the group identifier of this artifact, for example "org.apache.maven".
 Map<String,String> getProperties()
          Gets the properties of this artifact.
 String getProperty(String key, String defaultValue)
          Gets the specified property.
 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(File file)
          Sets the file of the artifact.
 Artifact setProperties(Map<String,String> properties)
          Sets the properties for the artifact.
 Artifact setVersion(String version)
          Sets the version of this artifact.
 

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 have the meta version expanded.

Returns:
The version, never null.

setVersion

Artifact setVersion(String version)
Sets the version of this 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".

Returns:
The file extension, never null.

getFile

File getFile()
Gets the file of this artifact. Note that only resolved artifacts have a file associated with them.

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.

getProperties

Map<String,String> getProperties()
Gets the properties of this artifact. While the exact set of available properties is undefined, the following properties are considered to be common:
type
A high-level characterization of the artifact, e.g. "maven-plugin" or "test-jar".
language
The programming language this artifact is relevant for, e.g. "java" or "none".
includesDependencies
A boolean flag indicating whether the artifact presents some kind of bundle that physically includes its dependencies, e.g. a fat WAR.
constitutesBuildPath
A boolean flag indicating whether the artifact is meant to be used for the compile/runtime/test build path of a consumer project.
localPath
The (expected) path to the artifact on the local filesystem. An artifact which has this property set is assumed to be not present in any regular repository and likewise has no artifact descriptor.

Returns:
The (read-only) properties, never null.

setProperties

Artifact setProperties(Map<String,String> properties)
Sets the properties for the artifact.

Parameters:
properties - The properties for the artifact, may be null.
Returns:
The new artifact, never null.


Copyright © 2010-2013. All Rights Reserved.