]> source.dussan.org Git - archiva.git/blob
ae60fcfa2d194bd0cb121817ea3613370b1c0961
[archiva.git] /
1 package org.apache.maven.archiva.indexer.record;
2
3 import java.util.List;
4
5 /*
6  * Copyright 2005-2006 The Apache Software Foundation.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * 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, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 /**
22  * The a record with the fields in the standard index.
23  *
24  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
25  */
26 public class StandardArtifactIndexRecord
27     extends MinimalArtifactIndexRecord
28 {
29     /**
30      * The SHA-1 checksum of the artifact file.
31      */
32     private String sha1Checksum;
33
34     /**
35      * The artifact's group.
36      */
37     private String groupId;
38
39     /**
40      * The artifact's identifier within the group.
41      */
42     private String artifactId;
43
44     /**
45      * The artifact's version.
46      */
47     private String version;
48
49     /**
50      * The classifier, if there is one.
51      */
52     private String classifier;
53
54     /**
55      * The artifact type (from the file).
56      */
57     private String type;
58
59     /**
60      * A list of files (separated by '\n') in the artifact if it is an archive.
61      */
62     private List files;
63
64     /**
65      * The identifier of the repository that the artifact came from.
66      */
67     private String repository;
68
69     /**
70      * The packaging specified in the POM for this artifact.
71      */
72     private String packaging;
73
74     /**
75      * The plugin prefix specified in the metadata if the artifact is a plugin.
76      */
77     private String pluginPrefix;
78
79     /**
80      * The year the project was started.
81      */
82     private String inceptionYear;
83
84     /**
85      * The description of the project.
86      */
87     private String projectDescription;
88
89     /**
90      * The name of the project.
91      */
92     private String projectName;
93
94     /**
95      * The base version (before the snapshot is determined).
96      */
97     private String baseVersion;
98
99     public void setSha1Checksum( String sha1Checksum )
100     {
101         this.sha1Checksum = sha1Checksum;
102     }
103
104     public void setGroupId( String groupId )
105     {
106         this.groupId = groupId;
107     }
108
109     public void setArtifactId( String artifactId )
110     {
111         this.artifactId = artifactId;
112     }
113
114     public void setVersion( String version )
115     {
116         this.version = version;
117     }
118
119     public void setClassifier( String classifier )
120     {
121         this.classifier = classifier;
122     }
123
124     public void setType( String type )
125     {
126         this.type = type;
127     }
128
129     public void setFiles( List files )
130     {
131         this.files = files;
132     }
133
134     public void setRepository( String repository )
135     {
136         this.repository = repository;
137     }
138
139     /**
140      * @noinspection RedundantIfStatement
141      */
142     public boolean equals( Object obj )
143     {
144         if ( this == obj )
145         {
146             return true;
147         }
148         if ( obj == null || getClass() != obj.getClass() )
149         {
150             return false;
151         }
152         if ( !super.equals( obj ) )
153         {
154             return false;
155         }
156
157         StandardArtifactIndexRecord that = (StandardArtifactIndexRecord) obj;
158
159         if ( !artifactId.equals( that.artifactId ) )
160         {
161             return false;
162         }
163         if ( classifier != null ? !classifier.equals( that.classifier ) : that.classifier != null )
164         {
165             return false;
166         }
167         if ( files != null ? !files.equals( that.files ) : that.files != null )
168         {
169             return false;
170         }
171         if ( !groupId.equals( that.groupId ) )
172         {
173             return false;
174         }
175         if ( repository != null ? !repository.equals( that.repository ) : that.repository != null )
176         {
177             return false;
178         }
179         if ( sha1Checksum != null ? !sha1Checksum.equals( that.sha1Checksum ) : that.sha1Checksum != null )
180         {
181             return false;
182         }
183         if ( type != null ? !type.equals( that.type ) : that.type != null )
184         {
185             return false;
186         }
187         if ( !version.equals( that.version ) )
188         {
189             return false;
190         }
191         if ( !baseVersion.equals( that.baseVersion ) )
192         {
193             return false;
194         }
195         if ( packaging != null ? !packaging.equals( that.packaging ) : that.packaging != null )
196         {
197             return false;
198         }
199         if ( pluginPrefix != null ? !pluginPrefix.equals( that.pluginPrefix ) : that.pluginPrefix != null )
200         {
201             return false;
202         }
203         if ( projectName != null ? !projectName.equals( that.projectName ) : that.projectName != null )
204         {
205             return false;
206         }
207         if ( inceptionYear != null ? !inceptionYear.equals( that.inceptionYear ) : that.inceptionYear != null )
208         {
209             return false;
210         }
211         if ( projectDescription != null ? !projectDescription.equals( that.projectDescription )
212             : that.projectDescription != null )
213         {
214             return false;
215         }
216
217         return true;
218     }
219
220     public int hashCode()
221     {
222         int result = super.hashCode();
223         result = 31 * result + ( sha1Checksum != null ? sha1Checksum.hashCode() : 0 );
224         result = 31 * result + groupId.hashCode();
225         result = 31 * result + artifactId.hashCode();
226         result = 31 * result + version.hashCode();
227         result = 31 * result + baseVersion.hashCode();
228         result = 31 * result + ( classifier != null ? classifier.hashCode() : 0 );
229         result = 31 * result + ( type != null ? type.hashCode() : 0 );
230         result = 31 * result + ( files != null ? files.hashCode() : 0 );
231         result = 31 * result + ( repository != null ? repository.hashCode() : 0 );
232         result = 31 * result + ( packaging != null ? packaging.hashCode() : 0 );
233         result = 31 * result + ( pluginPrefix != null ? pluginPrefix.hashCode() : 0 );
234         result = 31 * result + ( inceptionYear != null ? inceptionYear.hashCode() : 0 );
235         result = 31 * result + ( projectName != null ? projectName.hashCode() : 0 );
236         result = 31 * result + ( projectDescription != null ? projectDescription.hashCode() : 0 );
237         return result;
238     }
239
240     public String getSha1Checksum()
241     {
242         return sha1Checksum;
243     }
244
245     public String getGroupId()
246     {
247         return groupId;
248     }
249
250     public String getArtifactId()
251     {
252         return artifactId;
253     }
254
255     public String getVersion()
256     {
257         return version;
258     }
259
260     public String getClassifier()
261     {
262         return classifier;
263     }
264
265     public String getType()
266     {
267         return type;
268     }
269
270     public List getFiles()
271     {
272         return files;
273     }
274
275     public String getRepository()
276     {
277         return repository;
278     }
279
280     public String getPackaging()
281     {
282         return packaging;
283     }
284
285     public String getPluginPrefix()
286     {
287         return pluginPrefix;
288     }
289
290     public void setPackaging( String packaging )
291     {
292         this.packaging = packaging;
293     }
294
295     public void setPluginPrefix( String pluginPrefix )
296     {
297         this.pluginPrefix = pluginPrefix;
298     }
299
300     public void setInceptionYear( String inceptionYear )
301     {
302         this.inceptionYear = inceptionYear;
303     }
304
305     public void setProjectDescription( String description )
306     {
307         this.projectDescription = description;
308     }
309
310     public void setProjectName( String projectName )
311     {
312         this.projectName = projectName;
313     }
314
315     public String getInceptionYear()
316     {
317         return inceptionYear;
318     }
319
320     public String getProjectDescription()
321     {
322         return projectDescription;
323     }
324
325     public String getProjectName()
326     {
327         return projectName;
328     }
329
330     public void setBaseVersion( String baseVersion )
331     {
332         this.baseVersion = baseVersion;
333     }
334
335     public String getBaseVersion()
336     {
337         return baseVersion;
338     }
339 }