org.apache.maven.artifact.metadata

## Interface ArtifactMetadataSource

- All Known Implementing Classes:
    MavenMetadataSource

      public interface ArtifactMetadataSource

  Provides some metadata operations, like querying the remote repository for a list of versions available for an artifact.
  Version:
    $Id: ArtifactMetadataSource.java 675087 2008-07-09 02:23:29Z jdcasey $
  Author:
    Jason van Zyl

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ROLE`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ResolutionGroup` | `retrieve(Artifact artifact, ArtifactRepository localRepository, java.util.List remoteRepositories)`
    `java.util.List` | `retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, java.util.List remoteRepositories)` Get a list of available versions for an artifact in the remote repository
    `Artifact` | `retrieveRelocatedArtifact(Artifact artifact, ArtifactRepository localRepository, java.util.List remoteRepositories)` Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.

- - ### Field Detail

    - #### ROLE

          static final java.lang.String ROLE

  - ### Method Detail

    - #### retrieve

          ResolutionGroup retrieve(Artifact artifact,
                                 ArtifactRepository localRepository,
                                 java.util.List remoteRepositories)
                                   throws ArtifactMetadataRetrievalException

      Throws:
        `ArtifactMetadataRetrievalException`

    - #### retrieveRelocatedArtifact

          Artifact retrieveRelocatedArtifact(Artifact artifact,
                                           ArtifactRepository localRepository,
                                           java.util.List remoteRepositories)
                                             throws ArtifactMetadataRetrievalException

      Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.
      Throws:
        `ArtifactMetadataRetrievalException`

    - #### retrieveAvailableVersions

          java.util.List retrieveAvailableVersions(Artifact artifact,
                                                 ArtifactRepository localRepository,
                                                 java.util.List remoteRepositories)
                                                   throws ArtifactMetadataRetrievalException

      Get a list of available versions for an artifact in the remote repository
      Parameters:
        `artifact` - artifact we are interested in. Only `groupid` and `artifactId` are needed, for instance the following code will work `artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )`
        `localRepository` - local repository
        `remoteRepositories` - remote repositories, `List` $lt; `ArtifactRepository` >
      Returns:
        `List` $lt; `ArtifactVersion` >
      Throws:
        `ArtifactMetadataRetrievalException` - in case of error while retrieving repository metadata from the repository.