Class VersionRange
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Map<String, VersionRange> private static final Map<String, VersionRange> private final ArtifactVersionprivate final List<Restriction> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateVersionRange(ArtifactVersion recommendedVersion, List<Restriction> restrictions) -
Method Summary
Modifier and TypeMethodDescriptioncloneOf()Deprecated.VersionRange is immutable, cloning is not useful and even more an issue against the cachebooleancontainsVersion(ArtifactVersion version) static VersionRangecreateFromVersion(String version) static VersionRangecreateFromVersionSpec(String spec) Create a version range from a string representationbooleangetSelectedVersion(Artifact artifact) inthashCode()booleanprivate List<Restriction> intersection(List<Restriction> r1, List<Restriction> r2) booleanisSelectedVersionKnown(Artifact artifact) matchVersion(List<ArtifactVersion> versions) private static RestrictionparseRestriction(String spec) restrict(VersionRange restriction) Creates and returns a newVersionRangethat is a restriction of this version range and the specified version range.toString()
-
Field Details
-
CACHE_SPEC
-
CACHE_VERSION
-
recommendedVersion
-
restrictions
-
-
Constructor Details
-
VersionRange
-
-
Method Details
-
getRecommendedVersion
-
getRestrictions
-
cloneOf
Deprecated.VersionRange is immutable, cloning is not useful and even more an issue against the cache- Returns:
- a clone
-
createFromVersionSpec
public static VersionRange createFromVersionSpec(String spec) throws InvalidVersionSpecificationException Create a version range from a string representation
Some spec examples are:1.0Version 1.0 as a recommended version[1.0]Version 1.0 explicitly only[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
- Parameters:
spec- string representation of a version or version range- Returns:
- a new
VersionRangeobject that represents the spec - Throws:
InvalidVersionSpecificationException
-
parseRestriction
private static Restriction parseRestriction(String spec) throws InvalidVersionSpecificationException -
createFromVersion
-
restrict
Creates and returns a newVersionRangethat 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.
- Parameters:
restriction- theVersionRangethat will be used to restrict this version range.- Returns:
- the
VersionRangethat 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 isnull, 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 tonull. - Throws:
NullPointerException- if the specifiedVersionRangeisnull.
-
intersection
-
getSelectedVersion
- Throws:
OverConstrainedVersionException
-
isSelectedVersionKnown
- Throws:
OverConstrainedVersionException
-
toString
-
matchVersion
-
containsVersion
-
hasRestrictions
public boolean hasRestrictions() -
equals
-
hashCode
public int hashCode()
-