package org.codehaus.plexus.component.repository; /* * Copyright 2001-2006 Codehaus Foundation. * * 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. */ /** * This represents a project which this component depends upon to function * properly, for example, a required jar file. See Apache Maven for an * example of a dependency in action. * * @author Jason van Zyl * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a> * @version $Id$ */ public class ComponentDependency { private static final String DEAULT_DEPENDENCY_TYPE = "jar"; private String groupId; private String artifactId; private String type = DEAULT_DEPENDENCY_TYPE; private String version; /** * Gets a key for an artifact, which is an alias for a specific * project timeline in a group. * @return a key for an artifact */ public String getArtifactId() { return artifactId; } /** * Sets the dependency's artifact ID. * @param artifactId the artifact ID */ public void setArtifactId(String artifactId) { this.artifactId = artifactId; } /** * Gets a key for a group, which represents a set of artifacts timelines. * @return a key for a group */ public String getGroupId() { return groupId; } /** * Sets the dependency's group ID. * @param groupId the group ID */ public void setGroupId(String groupId) { this.groupId = groupId; } /** * Gets the type of dependency, for example a "jar". * @return the type of dependency */ public String getType() { return type; } /** * Sets the dependency project's type. * @param type the dependency's type */ public void setType(String type) { this.type = type; } /** * Returns a specific point in a project's timeline. * i.e. version 1, or 2.1.4 * @return a specific point in a project's timeline */ public String getVersion() { return version; } /** * Sets the point in a project's development timeline * @param version the project's version */ public void setVersion(String version) { this.version = version; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append( "groupId = " ).append( groupId ). append( ", artifactId = " ).append( artifactId ). append( ", version = " ).append( version ). append( ", type = " ).append( type ); return sb.toString(); } }