Class Artifact

All Implemented Interfaces:
Comparable

public class Artifact extends Commentable implements Comparable
Description of an artifact. An artifact is described by it's Apache Maven coordinates consisting of group id, artifact id, and version. In addition, the classifier and type can be specified as well. If no type is specified, "jar" is assumed. An artifact can have any metadata.
  • Constructor Details

    • Artifact

      public Artifact(String gId, String aId, String version, String classifier, String type)
      Create a new artifact object
      Parameters:
      gId - The group id (required)
      aId - The artifact id (required)
      version - The version (required)
      classifier - The classifier (optional)
      type - The type/extension (optional, defaults to jar)
    • Artifact

      public Artifact(String gId, String aId, String version, String classifier, String type, Map<String,String> metadata)
      Create a new artifact object
      Parameters:
      gId - The group id (required)
      aId - The artifact id (required)
      version - The version (required)
      classifier - The classifier (optional)
      type - The type/extension (optional, defaults to jar)
      metadata - The metadata associated with the Artifact
  • Method Details

    • fromMvnUrl

      public static Artifact fromMvnUrl(String url)
      Create a new artifact from a maven url, 'mvn:' [ repository-url '!' ] group-id '/' artifact-id [ '/' [version] [ '/' [type] [ '/' classifier ] ] ] ]
      Parameters:
      url - The url
      Returns:
      A new artifact
      Throws:
      IllegalArgumentException - If the url is not valid
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • compareTo

      public int compareTo(Object o)
      Specified by:
      compareTo in interface Comparable
    • toMvnUrl

      public String toMvnUrl()
      Return a mvn url
      Returns:
      A mvn url
      See Also:
    • getGroupId

      public String getGroupId()
      Return the group id.
      Returns:
      The group id.
    • getArtifactId

      public String getArtifactId()
      Return the artifact id.
      Returns:
      The artifact id.
    • getVersion

      public String getVersion()
      Return the version.
      Returns:
      The version.
    • getClassifier

      public String getClassifier()
      Return the optional classifier.
      Returns:
      The classifier or null.
    • getType

      public String getType()
      Return the type.
      Returns:
      The type.
    • getMetadata

      public Map<String,String> getMetadata()
      Get the metadata of the artifact.
      Returns:
      The metadata.
    • getRepositoryPath

      public String getRepositoryPath()
      Create a Maven like relative repository path.
      Returns:
      A relative repository path.
    • toString

      public String toString()
      Overrides:
      toString in class Commentable