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
static String ROLE
           
 
Method Summary
 ResolutionGroup retrieve(Artifact artifact, ArtifactRepository localRepository, List remoteRepositories)
           
 List retrieveAvailableVersions(Artifact artifact, ArtifactRepository localRepository, List remoteRepositories)
          Get a list of available versions for an artifact in the remote repository
 Artifact retrieveRelocatedArtifact(Artifact artifact, ArtifactRepository localRepository, List remoteRepositories)
          Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.
 

Field Detail

ROLE

static final String ROLE
Method Detail

retrieve

ResolutionGroup retrieve(Artifact artifact,
                         ArtifactRepository localRepository,
                         List remoteRepositories)
                         throws ArtifactMetadataRetrievalException
Throws:
ArtifactMetadataRetrievalException

retrieveRelocatedArtifact

Artifact retrieveRelocatedArtifact(Artifact artifact,
                                   ArtifactRepository localRepository,
                                   List remoteRepositories)
                                   throws ArtifactMetadataRetrievalException
Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.

Throws:
ArtifactMetadataRetrievalException

retrieveAvailableVersions

List retrieveAvailableVersions(Artifact artifact,
                               ArtifactRepository localRepository,
                               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.


Copyright © 2001-2009 The Apache Software Foundation. All Rights Reserved.