/* * Copyright 2013 NGDATA nv * Copyright 2008 Outerthought bvba and Schaubroeck nv * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.lilyproject.runtime.repository; import java.io.File; public class RepoArtifactRef extends BaseArtifactRef { private final String groupId; private final String artifactId; private final String classifier; public RepoArtifactRef(String groupId, String artifactId, String classifier, String version) { super("lilyruntime:repo:" + groupId + ":" + artifactId + (classifier == null || classifier.equals("") ? "" : ":" + classifier), version); if (groupId == null) { throw new IllegalArgumentException("Null argument: groupId"); } if (artifactId == null) { throw new IllegalArgumentException("Null argument: artifactId"); } if (version == null) { throw new IllegalArgumentException("Null argument: version"); } this.groupId = groupId; this.artifactId = artifactId; this.classifier = classifier == null ? "" : classifier; } public String getGroupId() { return groupId; } public String getArtifactId() { return artifactId; } public String getClassifier() { return classifier; } public File resolve(ArtifactRepository repository) throws ArtifactNotFoundException { return repository.resolve(groupId, artifactId, classifier, getVersion()); } public String toString() { return groupId + ":" + artifactId + ":" + classifier + ":" + getVersion(); } public ArtifactRef clone(String version) { return new RepoArtifactRef(groupId, artifactId, classifier, version); } }