Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## cpw.mods.fml.common.versioning
Class VersionRange

    java.lang.Object
      cpw.mods.fml.common.versioning.VersionRange

    public class VersionRange

extends Object

Construct a version range from a specification.

Author:
  Brett Porter

Method Summary
`VersionRange` | `cloneOf()`
`boolean` | `containsVersion(ArtifactVersion version)`
`static VersionRange` | `createFromVersion(String version, ArtifactVersion existing)`
`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()`
`int` | `hashCode()`
`boolean` | `hasRestrictions()`
`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
`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
  - `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

  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,
                                                 ArtifactVersion existing)

### 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`.

### 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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD