]>
git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.api/src/org/argeo/slc/DefaultNameVersion.java
4 /** Canonical implementation of {@link NameVersion} */
5 public class DefaultNameVersion
implements NameVersion
,
6 Comparable
<NameVersion
> {
8 private String version
;
10 public DefaultNameVersion() {
13 /** Interprets string in OSGi-like format my.module.name;version=0.0.0 */
14 public DefaultNameVersion(String nameVersion
) {
15 int index
= nameVersion
.indexOf(";version=");
20 setName(nameVersion
.substring(0, index
));
21 setVersion(nameVersion
.substring(index
+ ";version=".length()));
25 public DefaultNameVersion(String name
, String version
) {
27 this.version
= version
;
30 public DefaultNameVersion(NameVersion nameVersion
) {
31 this.name
= nameVersion
.getName();
32 this.version
= nameVersion
.getVersion();
35 public String
getName() {
39 public void setName(String name
) {
43 public String
getVersion() {
47 public void setVersion(String version
) {
48 this.version
= version
;
52 public boolean equals(Object obj
) {
53 if (obj
instanceof NameVersion
) {
54 NameVersion nameVersion
= (NameVersion
) obj
;
55 return name
.equals(nameVersion
.getName())
56 && version
.equals(nameVersion
.getVersion());
62 public int hashCode() {
63 return name
.hashCode();
67 public String
toString() {
68 return name
+ ":" + version
;
71 public int compareTo(NameVersion o
) {
72 if (o
.getName().equals(name
))
73 return version
.compareTo(o
.getVersion());
75 return name
.compareTo(o
.getName());