org.apache.maven.artifact.versioning
Class VersionRange

java.lang.Object
  extended by org.apache.maven.artifact.versioning.VersionRange

public class VersionRange
extends Object

Construct a version range from a specification.

Version:
$Id: VersionRange.java 932035 2010-04-08 18:01:20Z hboutemy $
Author:
Brett Porter

Method Summary
 VersionRange cloneOf()
           
 boolean containsVersion(ArtifactVersion version)
           
static VersionRange createFromVersion(String version)
           
static VersionRange createFromVersionSpec(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(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()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getRecommendedVersion

public ArtifactVersion getRecommendedVersion()

getRestrictions

public List<Restriction> getRestrictions()

cloneOf

public VersionRange cloneOf()

createFromVersionSpec

public static VersionRange createFromVersionSpec(String spec)
                                          throws InvalidVersionSpecificationException
Create a version range from a string representation

Some spec examples are

Parameters:
spec - string representation of a version or version range
Returns:
a new VersionRange object that represents the spec
Throws:
InvalidVersionSpecificationException

createFromVersion

public static VersionRange createFromVersion(String version)

restrict

public VersionRange restrict(VersionRange restriction)
Creates and returns a new 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.

Parameters:
restriction - the VersionRange 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 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.

Throws:
NullPointerException - if the specified VersionRange is null.

getSelectedVersion

public ArtifactVersion getSelectedVersion(Artifact artifact)
                                   throws OverConstrainedVersionException
Throws:
OverConstrainedVersionException

isSelectedVersionKnown

public boolean isSelectedVersionKnown(Artifact artifact)
                               throws OverConstrainedVersionException
Throws:
OverConstrainedVersionException

toString

public String toString()
Overrides:
toString in class Object

matchVersion

public ArtifactVersion matchVersion(List<ArtifactVersion> versions)

containsVersion

public boolean containsVersion(ArtifactVersion version)

hasRestrictions

public boolean hasRestrictions()

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.