@Override public VersionRange getIntersection(VersionRange... ranges) { for (VersionRange range : ranges) { if (range.includes(version)) return this; } return new EmptyVersionRange(); }
private static Item parseItem(boolean isDigit, String buf) { return isDigit ? new IntegerItem(buf) : new StringItem(buf, false); }
@Override public Version getSpecVersion() { return SingleVersion.valueOf("2.1"); }
@Override public boolean isMinInclusive() { VersionRange min = null; for (VersionRange range : ranges) { if (min == null || range.getMin().compareTo(min.getMin()) < 0) { min = range; } } return min == null ? false : min.isMinInclusive(); }
@Override public boolean isMaxInclusive() { VersionRange max = null; for (VersionRange range : ranges) { if (max == null || range.getMax().compareTo(max.getMax()) > 0) { max = range; } } return max == null ? false : max.isMaxInclusive(); }
static int compareVersions(String aS, String bS) { ComparableVersion a = new ComparableVersion(aS); ComparableVersion b = new ComparableVersion(bS); return b.compareTo(a); }
@Override public boolean isEmpty() { return (min.compareTo(max) == 0) && !minInclusive && !maxInclusive; }
/** * Construct a new {@link TechnologyReference} using the given {@link String} ID and {@link String} version range. */ public TechnologyReference(String id, String versionRange) { this.id = id; if (versionRange != null) this.versionRange = Versions.parseVersionRange(versionRange); }
@Override public Version getMin() { return EmptyVersion.getInstance(); }
@Override public boolean includes(Version version) { for (VersionRange range : ranges) { if (range.includes(version)) { return true; } } return false; }
@Override public VersionRange getIntersection(VersionRange... ranges) { return intersect(new MultipleVersionRange(ranges)); } }
@Override public int compareTo(ComparableVersion o) { return items.compareTo(o.items); }
@Override public int hashCode() { return 11 + comparable.hashCode(); }
@Override public boolean isNull() { return (size() == 0); }
static int compareVersions(String aS, String bS) { ComparableVersion a = new ComparableVersion(aS); ComparableVersion b = new ComparableVersion(bS); return b.compareTo(a); }
/** * Construct a new {@link TechnologyReference} using the given {@link String} ID and {@link String} version range. */ public TechnologyReference(String id, String versionRange) { this.id = id; if (versionRange != null) this.versionRange = Versions.parseVersionRange(versionRange); }
@Override public Version getMax() { return EmptyVersion.getInstance(); }