1 /*
2 * Copyright 2001,2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package org.apache.commons.jjar;
18
19 import java.util.HashMap;
20
21 /**
22 * little class to handle the
23 * package/version duple.
24 *
25 * the intent was to extend to carry more
26 * information, but the repository seems to
27 * be doing ok for that.
28 *
29 * It might be nice to continue here though
30 * and make the repository surface area smaller
31 *
32 * @author <a href="mailto:geirm@optonline.net">Geir Magnusson Jr.</a>
33 * @version $Id: JJARPackage.java 155454 2005-02-26 13:23:34Z dirkv $
34 */
35 public class JJARPackage
36 {
37 private String name;
38 private Version version;
39 private HashMap properties;
40
41 private static String DESC = "desc";
42 private static String JAR = "jar";
43 private static String HREF = "href";
44
45 /**
46 * usual CTOR
47 */
48 public JJARPackage( String name, String version )
49 {
50 this.name = name;
51 this.version = new Version(version);
52 }
53
54 /**
55 * ctor for <package>:<version> unispec
56 */
57 public JJARPackage( String onepiece )
58 {
59 int i = onepiece.indexOf(":");
60
61 if (i != -1 )
62 {
63 this.name = onepiece.substring(0, i );
64 this.version = new Version( onepiece.substring( i + 1 ) );
65 }
66 }
67
68 public String getName()
69 {
70 return name;
71 }
72
73 public Version getVersion()
74 {
75 return version;
76 }
77
78 public String getVersionString()
79 {
80 return version.toString();
81 }
82
83 public boolean equals( JJARPackage jpack )
84 {
85 return equals( jpack.getName(), jpack.getVersionString() );
86 }
87
88 public boolean equals( String pkg, String ver )
89 {
90 if ( pkg != null && this.name.equals( pkg ) )
91 {
92 // do something better here ?
93
94 if ( ver != null && version.equals( ver ) )
95 {
96 return true;
97 }
98 }
99
100 return false;
101 }
102 }
103
104
105