]> source.dussan.org Git - archiva.git/blob
4b34741fb92a95a7d206e8bab58d24e7e186b7b6
[archiva.git] /
1 package org.apache.archiva.admin.model.beans;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import org.codehaus.jackson.annotate.JsonIgnore;
22 import org.codehaus.jackson.annotate.JsonIgnoreProperties;
23
24 import javax.xml.bind.annotation.XmlRootElement;
25 import java.io.Serializable;
26
27 /**
28  * @author Olivier Lamy
29  * @since 1.4-M1
30  */
31 @XmlRootElement( name = "legacyArtifactPath" )
32 public class LegacyArtifactPath
33     implements Serializable
34 {
35     /**
36      * The legacy path.
37      */
38     private String path;
39
40     /**
41      * The artifact reference, as " [groupId] :
42      * [artifactId] : [version] : [classifier] : [type] ".
43      */
44     private String artifact;
45
46     public LegacyArtifactPath()
47     {
48         // no op
49     }
50
51     public LegacyArtifactPath( String path, String artifact )
52     {
53         this.path = path;
54         this.artifact = artifact;
55     }
56
57     public String getPath()
58     {
59         return path;
60     }
61
62     public void setPath( String path )
63     {
64         this.path = path;
65     }
66
67     public String getArtifact()
68     {
69         return artifact;
70     }
71
72     public void setArtifact( String artifact )
73     {
74         this.artifact = artifact;
75     }
76
77     public boolean match( String path )
78     {
79         return path.equals( this.path );
80     }
81
82     @JsonIgnore
83     public String getGroupId()
84     {
85         return artifact.split( ":" )[0];
86     }
87
88     @JsonIgnore
89     public String getArtifactId()
90     {
91         return artifact.split( ":" )[1];
92     }
93
94     @JsonIgnore
95     public String getVersion()
96     {
97         return artifact.split( ":" )[2];
98     }
99
100     @JsonIgnore
101     public String getClassifier()
102     {
103         String classifier = artifact.split( ":" )[3];
104         return classifier.length() > 0 ? classifier : null;
105     }
106
107     @JsonIgnore
108     public String getType()
109     {
110         return artifact.split( ":" )[4];
111     }
112
113     @Override
114     public boolean equals( Object o )
115     {
116         if ( this == o )
117         {
118             return true;
119         }
120         if ( o == null || getClass() != o.getClass() )
121         {
122             return false;
123         }
124
125         LegacyArtifactPath that = (LegacyArtifactPath) o;
126
127         if ( path != null ? !path.equals( that.path ) : that.path != null )
128         {
129             return false;
130         }
131
132         return true;
133     }
134
135     @Override
136     public int hashCode()
137     {
138         return path != null ? 37 + path.hashCode() : 0;
139     }
140
141     @Override
142     public String toString()
143     {
144         final StringBuilder sb = new StringBuilder();
145         sb.append( "LegacyArtifactPath" );
146         sb.append( "{path='" ).append( path ).append( '\'' );
147         sb.append( ", artifact='" ).append( artifact ).append( '\'' );
148         sb.append( '}' );
149         return sb.toString();
150     }
151 }