]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.init/src/org/argeo/init/a2/A2Module.java
1 package org
.argeo
.init
.a2
;
3 import org
.osgi
.framework
.Version
;
6 * An identified software package. In OSGi's case this is the combination of
7 * <code>Bundle-SymbolicName</code> and <code>Bundle-version</code>. This is the
8 * equivalent of the full coordinates of a Maven artifact version.
10 public class A2Module
implements Comparable
<A2Module
> {
11 private final A2Branch branch
;
12 private final Version version
;
13 private final Object locator
;
15 public A2Module(A2Branch branch
, Version version
, Object locator
) {
17 this.version
= version
;
18 this.locator
= locator
;
19 branch
.modules
.put(version
, this);
22 public A2Branch
getBranch() {
26 public Version
getVersion() {
35 public int compareTo(A2Module o
) {
36 return version
.compareTo(o
.version
);
40 public int hashCode() {
41 return version
.hashCode();
45 public boolean equals(Object obj
) {
46 if (obj
instanceof A2Module
) {
47 A2Module o
= (A2Module
) obj
;
48 return branch
.equals(o
.branch
) && version
.equals(o
.version
);
54 public String
toString() {
55 return getCoordinates();
58 public String
getCoordinates() {
59 return branch
.getComponent() + ":" + version
;