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