]> source.dussan.org Git - archiva.git/blob
1cb7422a9d6d689b1489b92170f45fbbccab4b0a
[archiva.git] /
1 package org.apache.maven.archiva.indexer.bytecode;
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 org.apache.maven.archiva.indexer.lucene.LuceneRepositoryContentRecord;
23 import org.apache.maven.archiva.model.ArchivaArtifact;
24
25 import java.util.List;
26
27 /**
28  * Lucene Record for Bytecode information.
29  *
30  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
31  * @version $Id$
32  */
33 public class BytecodeRecord
34     implements LuceneRepositoryContentRecord
35 {
36     private String repositoryId;
37
38     private ArchivaArtifact artifact;
39
40     private String filename;
41
42     private List classes;
43
44     private List methods;
45
46     private List files;
47
48     public ArchivaArtifact getArtifact()
49     {
50         return artifact;
51     }
52
53     public List getClasses()
54     {
55         return classes;
56     }
57
58     public List getFiles()
59     {
60         return files;
61     }
62
63     public List getMethods()
64     {
65         return methods;
66     }
67
68     public String getRepositoryId()
69     {
70         return repositoryId;
71     }
72
73     public String getPrimaryKey()
74     {
75         StringBuffer id = new StringBuffer();
76         id.append( artifact.getGroupId() ).append( ":" );
77         id.append( artifact.getArtifactId() ).append( ":" );
78         id.append( artifact.getVersion() );
79
80         if ( artifact.getClassifier() != null )
81         {
82             id.append( ":" ).append( artifact.getClassifier() );
83         }
84
85         id.append( ":" ).append( artifact.getType() );
86
87         return id.toString();
88     }
89
90     public void setArtifact( ArchivaArtifact artifact )
91     {
92         this.artifact = artifact;
93     }
94
95     public void setClasses( List classes )
96     {
97         this.classes = classes;
98     }
99
100     public void setFiles( List files )
101     {
102         this.files = files;
103     }
104
105     public void setMethods( List methods )
106     {
107         this.methods = methods;
108     }
109
110     public void setRepositoryId( String repositoryId )
111     {
112         this.repositoryId = repositoryId;
113     }
114
115     public int hashCode()
116     {
117         final int PRIME = 31;
118         int result = 1;
119         result = PRIME * result + ( ( artifact == null ) ? 0 : artifact.hashCode() );
120         return result;
121     }
122
123     public boolean equals( Object obj )
124     {
125         if ( this == obj )
126         {
127             return true;
128         }
129
130         if ( obj == null )
131         {
132             return false;
133         }
134
135         if ( getClass() != obj.getClass() )
136         {
137             return false;
138         }
139
140         final BytecodeRecord other = (BytecodeRecord) obj;
141
142         if ( artifact == null )
143         {
144             if ( other.artifact != null )
145             {
146                 return false;
147             }
148         }
149         else if ( !artifact.equals( other.artifact ) )
150         {
151             return false;
152         }
153
154         return true;
155     }
156
157     public String getFilename()
158     {
159         return filename;
160     }
161
162     public void setFilename( String filename )
163     {
164         this.filename = filename;
165     }
166
167     public String toString()
168     {
169         StringBuffer sb = new StringBuffer();
170
171         sb.append( "BytecodeRecord[" );
172         sb.append( "artifact=" ).append( artifact );
173         sb.append( ",filename=" ).append( filename );
174         sb.append( "]" );
175         return sb.toString();
176     }
177
178 }