package org.codehaus.mojo.repositorytools.validation;
import java.util.List;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.codehaus.mojo.repositorytools.components.RepositoryToolsException;
public interface ArtifactValidator
{
String ROLE = ArtifactValidator.class.getName();
/**
* Performs some kind of validation and returns a list of error messages
*
* @param artifact
* @param remoteRepositories
* @param localRepository
* @return a list of ValidationMessage
* @throws RepositoryToolsException
* if the validation could not be performed
*/
public List validateArtifact(Artifact artifact,
List remoteRepositories,
ArtifactRepository localRepository) throws RepositoryToolsException;
/**
* Describes the validation that is performed
*/
String getDescription();
/**
* Determines if the validator can validate this artifact
*/
boolean canValidate(Artifact artifact);
}