]> source.dussan.org Git - archiva.git/blob
1f4abdca8671ca22b78d49a9352e6c87542cd5b2
[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 javax.xml.bind.annotation.XmlRootElement;
22 import java.io.Serializable;
23
24 /**
25  * @author Olivier Lamy
26  * @since 1.4-M1
27  */
28 @XmlRootElement( name = "legacyArtifactPath" )
29 public class LegacyArtifactPath
30     implements Serializable
31 {
32     /**
33      * The legacy path.
34      */
35     private String path;
36
37     /**
38      * The artifact reference, as " [groupId] :
39      * [artifactId] : [version] : [classifier] : [type] ".
40      */
41     private String artifact;
42
43     public LegacyArtifactPath()
44     {
45         // no op
46     }
47
48     public LegacyArtifactPath( String path, String artifact )
49     {
50         this.path = path;
51         this.artifact = artifact;
52     }
53
54     public String getPath()
55     {
56         return path;
57     }
58
59     public void setPath( String path )
60     {
61         this.path = path;
62     }
63
64     public String getArtifact()
65     {
66         return artifact;
67     }
68
69     public void setArtifact( String artifact )
70     {
71         this.artifact = artifact;
72     }
73
74     public boolean match( String path )
75     {
76         return path.equals( this.path );
77     }
78
79     public String getGroupId()
80     {
81         return artifact.split( ":" )[0];
82     }
83
84     public String getArtifactId()
85     {
86         return artifact.split( ":" )[1];
87     }
88
89     public String getVersion()
90     {
91         return artifact.split( ":" )[2];
92     }
93
94     public String getClassifier()
95     {
96         String classifier = artifact.split( ":" )[3];
97         return classifier.length() > 0 ? classifier : null;
98     }
99
100     public String getType()
101     {
102         return artifact.split( ":" )[4];
103     }
104
105     @Override
106     public boolean equals( Object o )
107     {
108         if ( this == o )
109         {
110             return true;
111         }
112         if ( o == null || getClass() != o.getClass() )
113         {
114             return false;
115         }
116
117         LegacyArtifactPath that = (LegacyArtifactPath) o;
118
119         if ( path != null ? !path.equals( that.path ) : that.path != null )
120         {
121             return false;
122         }
123
124         return true;
125     }
126
127     @Override
128     public int hashCode()
129     {
130         return path != null ? 37 + path.hashCode() : 0;
131     }
132
133     @Override
134     public String toString()
135     {
136         final StringBuilder sb = new StringBuilder();
137         sb.append( "LegacyArtifactPath" );
138         sb.append( "{path='" ).append( path ).append( '\'' );
139         sb.append( ", artifact='" ).append( artifact ).append( '\'' );
140         sb.append( '}' );
141         return sb.toString();
142     }
143 }