]> git.argeo.org Git - lgpl/argeo-commons.git/blob - a2/A2Module.java
Prepare next development cycle
[lgpl/argeo-commons.git] / a2 / A2Module.java
1 package org.argeo.osgi.boot.a2;
2
3 import org.osgi.framework.Version;
4
5 class A2Module implements Comparable<A2Module> {
6 private final A2Branch branch;
7 private final Version version;
8 private final Object locator;
9
10 public A2Module(A2Branch branch, Version version, Object locator) {
11 this.branch = branch;
12 this.version = version;
13 this.locator = locator;
14 branch.modules.put(version, this);
15 }
16
17 A2Branch getBranch() {
18 return branch;
19 }
20
21 Version getVersion() {
22 return version;
23 }
24
25 Object getLocator() {
26 return locator;
27 }
28
29 @Override
30 public int compareTo(A2Module o) {
31 return version.compareTo(o.version);
32 }
33
34 @Override
35 public int hashCode() {
36 return version.hashCode();
37 }
38
39 @Override
40 public boolean equals(Object obj) {
41 if (obj instanceof A2Module) {
42 A2Module o = (A2Module) obj;
43 return branch.equals(o.branch) && version.equals(o.version);
44 } else
45 return false;
46 }
47
48 @Override
49 public String toString() {
50 return getCoordinates();
51 }
52
53 public String getCoordinates() {
54 return branch.getComponent() + ":" + version;
55 }
56
57
58 }