Coverage Report - org.apache.maven.artifact.metadata.ArtifactMetadataSource
 
Classes in this File Line Coverage Branch Coverage Complexity
ArtifactMetadataSource
N/A
N/A
1
ArtifactMetadataSource$1
0%
0/1
N/A
1
 
 1  
 package org.apache.maven.artifact.metadata;
 2  
 
 3  
 /*
 4  
  * Licensed to the Apache Software Foundation (ASF) under one
 5  
  * or more contributor license agreements.  See the NOTICE file
 6  
  * distributed with this work for additional information
 7  
  * regarding copyright ownership.  The ASF licenses this file
 8  
  * to you under the Apache License, Version 2.0 (the
 9  
  * "License"); you may not use this file except in compliance
 10  
  * with the License.  You may obtain a copy of the License at
 11  
  *
 12  
  *  http://www.apache.org/licenses/LICENSE-2.0
 13  
  *
 14  
  * Unless required by applicable law or agreed to in writing,
 15  
  * software distributed under the License is distributed on an
 16  
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 17  
  * KIND, either express or implied.  See the License for the
 18  
  * specific language governing permissions and limitations
 19  
  * under the License.
 20  
  */
 21  
 
 22  
 import org.apache.maven.artifact.Artifact;
 23  
 import org.apache.maven.artifact.repository.ArtifactRepository;
 24  
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 25  
 
 26  
 import java.util.List;
 27  
 
 28  
 /**
 29  
  * Provides some metadata operations, like querying the remote repository for a list of versions available for an
 30  
  * artifact.
 31  
  *
 32  
  * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
 33  
  * @version $Id: ArtifactMetadataSource.java 688932 2008-08-26 01:24:27Z jdcasey $
 34  
  */
 35  
 public interface ArtifactMetadataSource
 36  
 {
 37  0
     String ROLE = ArtifactMetadataSource.class.getName();
 38  
 
 39  
     ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
 40  
         throws ArtifactMetadataRetrievalException;
 41  
 
 42  
     /**
 43  
      * Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.
 44  
      */
 45  
     Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
 46  
         throws ArtifactMetadataRetrievalException;
 47  
 
 48  
     /**
 49  
      * Get a list of available versions for an artifact in the remote repository
 50  
      *
 51  
      * @param artifact artifact we are interested in. Only <code>groupid</code> and <code>artifactId</code>
 52  
      *                 are needed, for instance the following code will work
 53  
      *                 <code>artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )</code>
 54  
      * @param localRepository local repository
 55  
      * @param remoteRepositories remote repositories, {@link List} $lt; {@link ArtifactRepository} >
 56  
      * @return {@link List} $lt; {@link ArtifactVersion} >
 57  
      * @throws ArtifactMetadataRetrievalException in case of error while retrieving repository metadata from the repository.
 58  
      */
 59  
     List retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
 60  
         throws ArtifactMetadataRetrievalException;
 61  
 }