@Override public boolean equals(Object in) { if (in == null) return false; if (in instanceof String) in = new Version((String)in); if (in instanceof Version) { Version v = (Version)in; if (v.size() != size()) return false; for (int i=0; i < size(); i++) if (v.getVersion(i) != getVersion(i)) return false; return true; } return false; }
@Override public String getVersionString() { return version.toString(); }
@Override public int compareTo(Version o) { int len = Math.min(size(), o.size()); for (int i = 0; i < len; i++) { long ov = o.getVersion(i); long v = getVersion(i); if (ov < v) return 1; if (ov > v) return -1; } if (size() > len) return 1; if (o.size() > len) return -1; return 0; }
public Version getEstimatedVersion() { if (version == null) return Version.V_0_0_0; return new Version(version); }
public VersionRange(String string) { string = string.trim(); if (string.indexOf(',') > 0) { if (!string.startsWith("[") && !string.startsWith("(")) string = "[" + string; if (!string.endsWith("]") && !string.endsWith(")")) string = string + ")"; } Matcher m = RANGE.matcher(string); if (m.matches()) { start = m.group(1).charAt(0); String v1 = m.group(2); String v2 = m.group(10); low = new Version(v1); high = new Version(v2); end = m.group(18).charAt(0); if (low.compareTo(high) > 0) throw new IllegalArgumentException( "Low Range is higher than High Range: " + low + "-" + high); } else high = low = new Version(string); }
public boolean includes(Version v) { if ( !isRange() ) { return low.compareTo(v) <=0; } if (includeLow()) { if (v.compareTo(low) < 0) return false; } else if (v.compareTo(low) <= 0) return false; if (includeHigh()) { if (v.compareTo(high) > 0) return false; } else if (v.compareTo(high) >= 0) return false; return true; } }
public OperationDescription(UUID uuid, Class<?> clazz, MNlsProvider nlsProvider, String title) { this(uuid, clazz, nlsProvider, new Version(null), title, null); }
public OperationDescription(UUID uuid, Class<?> clazz, MNlsProvider nlsProvider, String version, String title) { this(uuid, clazz, nlsProvider, new Version(version), title, null); }
@Override public String toString() { if (high == low) return high.toString(); StringBuilder sb = new StringBuilder(); sb.append(start); sb.append(low); sb.append(','); sb.append(high); sb.append(end); return sb.toString(); }
public static Version getBundelVersion(Class<?> owner) { Bundle bundle = FrameworkUtil.getBundle(owner); if (bundle == null) return Version.V_0_0_0; return new Version(bundle.getVersion().toString()); }
public VersionRange toRange() { if (range == null) range = new VersionRange(toString()); return range; }
public OperationDescription(Operation owner, String title, DefRoot form) { this(owner.getUuid(), owner.getClass(), owner, new Version(null), title, form); }
public OperationDescription(Operation owner, String group, String id, String title, DefRoot form) { this(owner.getUuid(), group, id, new Version(null), owner, title, form); }
public boolean includes(Versioned v) { return includes(new Version(v.getVersionString())); }