public class VersionRange
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private ArtifactVersion |
recommendedVersion |
private java.util.List<Restriction> |
restrictions |
Modifier | Constructor and Description |
---|---|
private |
VersionRange(ArtifactVersion recommendedVersion,
java.util.List<Restriction> restrictions) |
Modifier and Type | Method and Description |
---|---|
VersionRange |
cloneOf() |
boolean |
containsVersion(ArtifactVersion version) |
static VersionRange |
createFromVersion(java.lang.String version,
ArtifactVersion existing) |
static VersionRange |
createFromVersionSpec(java.lang.String spec)
Create a version range from a string representation
Some spec examples are
1.0 Version 1.0
[1.0,2.0) Versions 1.0 (included) to 2.0 (not included)
[1.0,2.0] Versions 1.0 to 2.0 (both included)
[1.5,) Versions 1.5 and higher
(,1.0],[1.2,) Versions up to 1.0 (included) and 1.2 or higher
|
boolean |
equals(java.lang.Object obj) |
java.lang.String |
getLowerBoundString() |
ArtifactVersion |
getRecommendedVersion() |
java.util.List<Restriction> |
getRestrictions() |
int |
hashCode() |
boolean |
hasRestrictions() |
private java.util.List<Restriction> |
intersection(java.util.List<Restriction> r1,
java.util.List<Restriction> r2) |
boolean |
isUnboundedAbove() |
ArtifactVersion |
matchVersion(java.util.List<ArtifactVersion> versions) |
static VersionRange |
newRange(ArtifactVersion version,
java.util.List<Restriction> restrictions)
Factory method, for custom versioning schemes
|
private static Restriction |
parseRestriction(java.lang.String spec) |
VersionRange |
restrict(VersionRange restriction)
Creates and returns a new
VersionRange that is a restriction of this
version range and the specified version range. |
java.lang.String |
toString() |
java.lang.String |
toStringFriendly() |
private final ArtifactVersion recommendedVersion
private final java.util.List<Restriction> restrictions
private VersionRange(ArtifactVersion recommendedVersion, java.util.List<Restriction> restrictions)
public ArtifactVersion getRecommendedVersion()
public java.util.List<Restriction> getRestrictions()
public VersionRange cloneOf()
public static VersionRange newRange(ArtifactVersion version, java.util.List<Restriction> restrictions)
version
- versionrestrictions
- restriction listpublic static VersionRange createFromVersionSpec(@Nullable java.lang.String spec) throws InvalidVersionSpecificationException
1.0
Version 1.0[1.0,2.0)
Versions 1.0 (included) to 2.0 (not included)[1.0,2.0]
Versions 1.0 to 2.0 (both included)[1.5,)
Versions 1.5 and higher(,1.0],[1.2,)
Versions up to 1.0 (included) and 1.2 or higherspec
- string representation of a version or version rangeVersionRange
object that represents the specInvalidVersionSpecificationException
private static Restriction parseRestriction(java.lang.String spec) throws InvalidVersionSpecificationException
public static VersionRange createFromVersion(java.lang.String version, ArtifactVersion existing)
public VersionRange restrict(VersionRange restriction)
VersionRange
that is a restriction of this
version range and the specified version range.
Note: Precedence is given to the recommended version from this version range over the recommended version from the specified version range.
restriction
- the VersionRange
that will be used to restrict this version
range.VersionRange
that is a restriction of this version range and the
specified version range.
The restrictions of the returned version range will be an intersection of the restrictions of this version range and the specified version range if both version ranges have restrictions. Otherwise, the restrictions on the returned range will be empty.
The recommended version of the returned version range will be the recommended version of
this version range, provided that ranges falls within the intersected restrictions. If
the restrictions are empty, this version range's recommended version is used if it is not
null
. If it is null
, the specified version range's recommended
version is used (provided it is non-null
). If no recommended version can be
obtained, the returned version range's recommended version is set to null
.
java.lang.NullPointerException
- if the specified VersionRange
is
null
.private java.util.List<Restriction> intersection(java.util.List<Restriction> r1, java.util.List<Restriction> r2)
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toStringFriendly()
public ArtifactVersion matchVersion(java.util.List<ArtifactVersion> versions)
public boolean containsVersion(ArtifactVersion version)
public boolean hasRestrictions()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean isUnboundedAbove()
public java.lang.String getLowerBoundString()