/**
 * Copyright (c) 2006-2012 EBM WebSourcing, 2007-2009 Capgemini Sud, 2012-2022 Linagora
 * 
 * This program/library is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 2.1 of the License, or (at your
 * option) any later version.
 * 
 * This program/library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
 * for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program/library; If not, see http://www.gnu.org/licenses/
 * for the GNU Lesser General Public License version 2.1.
 */
package org.ow2.petals.plugin.jbiplugin.mock;

import java.io.File;
import java.util.Collection;
import java.util.List;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.artifact.versioning.VersionRange;

/**
 * Used to simulate an artifact.
 * @author ddesjardins - EBM WebSourcing
 */
public class ArtifactMock implements Artifact {
    
    private String groupId;

    private String artifactId;

    private String version;

    private File file;
    
    private VersionRange versionRange;

    private String scope;

    public String getGroupId() {
        return this.groupId;
    }

    public String getArtifactId() {
        return this.artifactId;
    }

    public String getVersion() {
        return this.version;
    }

    public void setVersion(final String arg0) {
        this.version = arg0;
    }

    public String getScope() {
        return this.scope;
    }

    public String getType() {
        return null;
    }

    public String getClassifier() {
        return null;
    }

    public boolean hasClassifier() {
        return false;
    }

    public File getFile() {
        return file;
    }

    public void setFile(File arg0) {
        file = arg0;
    }

    public String getBaseVersion() {
        return null;
    }

    public void setBaseVersion(String arg0) {
    }

    public String getId() {
        return null;
    }

    public String getDependencyConflictId() {
        return null;
    }

    public void addMetadata(ArtifactMetadata arg0) {
    }

    public Collection getMetadataList() {
        return null;
    }

    public void setRepository(ArtifactRepository arg0) {
    }

    public ArtifactRepository getRepository() {
        return null;
    }

    public void updateVersion(String arg0, ArtifactRepository arg1) {
    }

    public String getDownloadUrl() {
        return null;
    }

    public void setDownloadUrl(String arg0) {
    }

    public ArtifactFilter getDependencyFilter() {
        return null;
    }

    public void setDependencyFilter(ArtifactFilter arg0) {
    }

    public ArtifactHandler getArtifactHandler() {
        return null;
    }

    public List getDependencyTrail() {
        return null;
    }

    public void setDependencyTrail(List arg0) {
    }

    public void setScope(String arg0) {
        this.scope = arg0;
    }

    public VersionRange getVersionRange() {
        return this.versionRange;
    }

    public void setVersionRange(VersionRange arg0) {
        this.versionRange = arg0;
    }

    public void selectVersion(String arg0) {
    }

    public void setGroupId(String arg0) {
        this.groupId = arg0;
    }

    public void setArtifactId(String arg0) {
        this.artifactId = arg0;
    }

    public boolean isSnapshot() {
        return false;
    }

    public void setResolved(boolean arg0) {
    }

    public boolean isResolved() {
        return false;
    }

    public void setResolvedVersion(String arg0) {
    }

    public void setArtifactHandler(ArtifactHandler arg0) {
    }

    public boolean isRelease() {
        return false;
    }

    public void setRelease(boolean arg0) {
    }

    public List getAvailableVersions() {
        return null;
    }

    public void setAvailableVersions(List arg0) {
    }

    public boolean isOptional() {
        return false;
    }

    public void setOptional(boolean arg0) {
    }

    public ArtifactVersion getSelectedVersion()
            throws OverConstrainedVersionException {
        return null;
    }

    public boolean isSelectedVersionKnown()
            throws OverConstrainedVersionException {
        return false;
    }

    public int compareTo(Artifact o) {
        return 0;
    }

    public ArtifactMetadata getMetadata(Class metadataClass) {
        // TODO Auto-generated method stub
        return null;
    }

}
