]> source.dussan.org Git - archiva.git/blob
14f9defe2c3902ffdd7ed7ea27f6b831000ef08b
[archiva.git] /
1 package org.apache.archiva.metadata.model;
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 javax.xml.bind.annotation.XmlRootElement;
23
24 /**
25  * Information about a dependency that this project has on another project or artifact.
26  *
27  * @todo will be reviewing what is appropriate for the base here - rest should be in a maven dependency facet - avoid details on it externally
28  */
29 @XmlRootElement( name = "dependency" )
30 public class Dependency
31 {
32     /**
33      * The Maven classifier of the dependency.
34      */
35     private String classifier;
36
37     /**
38      * Whether the dependency is optional or required.
39      */
40     private boolean optional;
41
42     /**
43      * The Maven scope of the dependency - <tt>compile</tt> (default), <tt>runtime</tt>, etc.
44      */
45     private String scope;
46
47     /**
48      * The system path of the file of the dependency artifact to use.
49      */
50     private String systemPath;
51
52     /**
53      * The Maven type of the dependency.
54      */
55     private String type;
56
57     /**
58      * The Maven artifact ID of the dependency.
59      */
60     private String artifactId;
61
62     /**
63      * The Maven group ID of the dependency.
64      */
65     private String groupId;
66
67     /**
68      * The version of the artifact to depend on. If this refers to a project version then the repository implementation
69      * may choose the most appropriate artifact version to use.
70      */
71     private String version;
72
73     public void setClassifier( String classifier )
74     {
75         this.classifier = classifier;
76     }
77
78     public String getClassifier()
79     {
80         return classifier;
81     }
82
83     public void setOptional( boolean optional )
84     {
85         this.optional = optional;
86     }
87
88     public boolean isOptional()
89     {
90         return optional;
91     }
92
93     public void setScope( String scope )
94     {
95         this.scope = scope;
96     }
97
98     public String getScope()
99     {
100         return scope;
101     }
102
103     public void setSystemPath( String systemPath )
104     {
105         this.systemPath = systemPath;
106     }
107
108     public String getSystemPath()
109     {
110         return systemPath;
111     }
112
113     public void setType( String type )
114     {
115         this.type = type;
116     }
117
118     public String getType()
119     {
120         return type;
121     }
122
123     public void setArtifactId( String artifactId )
124     {
125         this.artifactId = artifactId;
126     }
127
128     public void setGroupId( String groupId )
129     {
130         this.groupId = groupId;
131     }
132
133     public void setVersion( String version )
134     {
135         this.version = version;
136     }
137
138     public String getVersion()
139     {
140         return version;
141     }
142
143     public String getArtifactId()
144     {
145         return artifactId;
146     }
147
148     public String getGroupId()
149     {
150         return groupId;
151     }
152
153     @Override
154     public String toString()
155     {
156         final StringBuilder sb = new StringBuilder();
157         sb.append( "Dependency" );
158         sb.append( "{classifier='" ).append( classifier ).append( '\'' );
159         sb.append( ", optional=" ).append( optional );
160         sb.append( ", scope='" ).append( scope ).append( '\'' );
161         sb.append( ", systemPath='" ).append( systemPath ).append( '\'' );
162         sb.append( ", type='" ).append( type ).append( '\'' );
163         sb.append( ", artifactId='" ).append( artifactId ).append( '\'' );
164         sb.append( ", groupId='" ).append( groupId ).append( '\'' );
165         sb.append( ", version='" ).append( version ).append( '\'' );
166         sb.append( '}' );
167         return sb.toString();
168     }
169 }