| package aQute.bnd.osgi; |
| |
| /** |
| * Holds the bundle bsn + version pair |
| */ |
| public class BundleId implements Comparable<BundleId> { |
| final String bsn; |
| final String version; |
| |
| public BundleId(String bsn, String version) { |
| this.bsn = bsn.trim(); |
| this.version = version.trim(); |
| } |
| |
| public String getVersion() { |
| return version; |
| } |
| |
| public String getBsn() { |
| return bsn; |
| } |
| |
| public boolean isValid() { |
| return Verifier.isVersion(version) && Verifier.isBsn(bsn); |
| } |
| |
| @Override |
| public boolean equals(Object o) { |
| return this == o || ((o instanceof BundleId) && compareTo((BundleId) o) == 0); |
| } |
| |
| @Override |
| public int hashCode() { |
| return bsn.hashCode() ^ version.hashCode(); |
| } |
| |
| public int compareTo(BundleId other) { |
| int result = bsn.compareTo(other.bsn); |
| if (result != 0) |
| return result; |
| |
| return version.compareTo(other.version); |
| } |
| } |