public class VersionRange extends Object
Modifier and Type | Method and Description |
---|---|
VersionRange |
cloneOf()
Deprecated.
VersionRange is immutable, cloning is not useful and even more an issue against the cache
|
boolean |
containsVersion(ArtifactVersion version) |
static VersionRange |
createFromVersion(String version) |
static VersionRange |
createFromVersionSpec(String spec)
Create a version range from a string representation
|
boolean |
equals(Object obj) |
ArtifactVersion |
getRecommendedVersion() |
List<Restriction> |
getRestrictions() |
ArtifactVersion |
getSelectedVersion(Artifact artifact) |
int |
hashCode() |
boolean |
hasRestrictions() |
boolean |
isSelectedVersionKnown(Artifact artifact) |
ArtifactVersion |
matchVersion(List<ArtifactVersion> versions) |
VersionRange |
restrict(VersionRange restriction)
Creates and returns a new
VersionRange that is a restriction of this
version range and the specified version range. |
String |
toString() |
public ArtifactVersion getRecommendedVersion()
public List<Restriction> getRestrictions()
@Deprecated public VersionRange cloneOf()
public static VersionRange createFromVersionSpec(String spec) throws InvalidVersionSpecificationException
Create a version range from a string representation
Some spec examples are:1.0
Version 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 higherspec
- string representation of a version or version rangeVersionRange
object that represents the specInvalidVersionSpecificationException
public static VersionRange createFromVersion(String version)
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
.
NullPointerException
- if the specified VersionRange
is
null
.public ArtifactVersion getSelectedVersion(Artifact artifact) throws OverConstrainedVersionException
OverConstrainedVersionException
public boolean isSelectedVersionKnown(Artifact artifact) throws OverConstrainedVersionException
OverConstrainedVersionException
public ArtifactVersion matchVersion(List<ArtifactVersion> versions)
public boolean containsVersion(ArtifactVersion version)
public boolean hasRestrictions()
Copyright © 2001–2023 The Apache Software Foundation. All rights reserved.