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
`static java.lang.String` `ROLE`

### Method Summary

Methods
`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.