Class VersionRange
- java.lang.Object
-
- org.apache.maven.artifact.versioning.VersionRange
-
public class VersionRange extends java.lang.Object
Construct a version range from a specification.- Version:
- $Id: VersionRange.java 640549 2008-03-24 20:05:11Z bentmann $
-
-
Field Summary
Fields Modifier and Type Field Description private ArtifactVersion
recommendedVersion
private java.util.List
restrictions
-
Constructor Summary
Constructors Modifier Constructor Description private
VersionRange(ArtifactVersion recommendedVersion, java.util.List restrictions)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description VersionRange
cloneOf()
boolean
containsVersion(ArtifactVersion version)
static VersionRange
createFromVersion(java.lang.String version)
static VersionRange
createFromVersionSpec(java.lang.String spec)
Create a version range from a string representation Some spec examples are1.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 higherboolean
equals(java.lang.Object obj)
ArtifactVersion
getRecommendedVersion()
java.util.List
getRestrictions()
ArtifactVersion
getSelectedVersion(Artifact artifact)
int
hashCode()
boolean
hasRestrictions()
private java.util.List
intersection(java.util.List r1, java.util.List r2)
boolean
isSelectedVersionKnown(Artifact artifact)
ArtifactVersion
matchVersion(java.util.List versions)
private static Restriction
parseRestriction(java.lang.String spec)
VersionRange
restrict(VersionRange restriction)
Creates and returns a newVersionRange
that is a restriction of this version range and the specified version range.java.lang.String
toString()
-
-
-
Field Detail
-
recommendedVersion
private final ArtifactVersion recommendedVersion
-
restrictions
private final java.util.List restrictions
-
-
Constructor Detail
-
VersionRange
private VersionRange(ArtifactVersion recommendedVersion, java.util.List restrictions)
-
-
Method Detail
-
getRecommendedVersion
public ArtifactVersion getRecommendedVersion()
-
getRestrictions
public java.util.List getRestrictions()
-
cloneOf
public VersionRange cloneOf()
-
createFromVersionSpec
public static VersionRange createFromVersionSpec(java.lang.String spec) throws InvalidVersionSpecificationException
Create a version range from a string representation Some spec examples are1.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
- Parameters:
spec
- string representation of a version or version range- Returns:
- a new
VersionRange
object that represents the spec - Throws:
InvalidVersionSpecificationException
-
parseRestriction
private static Restriction parseRestriction(java.lang.String spec) throws InvalidVersionSpecificationException
-
createFromVersion
public static VersionRange createFromVersion(java.lang.String version)
-
restrict
public VersionRange restrict(VersionRange restriction)
Creates and returns a newVersionRange
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.
- Parameters:
restriction
- theVersionRange
that will be used to restrict this version range.- Returns:
- the
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 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:
java.lang.NullPointerException
- if the specifiedVersionRange
isnull
.
-
intersection
private java.util.List intersection(java.util.List r1, java.util.List r2)
-
getSelectedVersion
public ArtifactVersion getSelectedVersion(Artifact artifact) throws OverConstrainedVersionException
- Throws:
OverConstrainedVersionException
-
isSelectedVersionKnown
public boolean isSelectedVersionKnown(Artifact artifact) throws OverConstrainedVersionException
- Throws:
OverConstrainedVersionException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
matchVersion
public ArtifactVersion matchVersion(java.util.List versions)
-
containsVersion
public boolean containsVersion(ArtifactVersion version)
-
hasRestrictions
public boolean hasRestrictions()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-