Package org.identityconnectors.common
Class VersionRange
- java.lang.Object
-
- org.identityconnectors.common.VersionRange
-
public class VersionRange extends java.lang.Object
A version range is an interval describing a set ofversions
.A range has a left (lower) endpoint and a right (upper) endpoint. Each endpoint can be open (excluded from the set) or closed (included in the set).
VersionRange
objects are immutable.- Since:
- 1.4
-
-
Field Summary
Fields Modifier and Type Field Description static char
LEFT_CLOSED
The left endpoint is closed and is included in the range.static char
LEFT_OPEN
The left endpoint is open and is excluded from the range.static char
RIGHT_CLOSED
The right endpoint is closed and is included in the range.static char
RIGHT_OPEN
The right endpoint is open and is excluded from the range.
-
Constructor Summary
Constructors Constructor Description VersionRange(Version low, boolean isLowInclusive, Version high, boolean isHighInclusive)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
Version
getCeiling()
Version
getFloor()
int
hashCode()
boolean
isCeilingInclusive()
boolean
isEmpty()
Returns whether this version range is empty.boolean
isExact()
Returns whether this version range contains only a single version.boolean
isFloorInclusive()
boolean
isInRange(Version version)
static VersionRange
parse(java.lang.String range)
Creates a version range from the specified string.java.lang.String
toString()
-
-
-
Field Detail
-
LEFT_OPEN
public static final char LEFT_OPEN
The left endpoint is open and is excluded from the range.The value of
LEFT_OPEN
is'('
.- See Also:
- Constant Field Values
-
LEFT_CLOSED
public static final char LEFT_CLOSED
The left endpoint is closed and is included in the range.The value of
LEFT_CLOSED
is'['
.- See Also:
- Constant Field Values
-
RIGHT_OPEN
public static final char RIGHT_OPEN
The right endpoint is open and is excluded from the range.The value of
RIGHT_OPEN
is')'
.- See Also:
- Constant Field Values
-
RIGHT_CLOSED
public static final char RIGHT_CLOSED
The right endpoint is closed and is included in the range.The value of
RIGHT_CLOSED
is']'
.- See Also:
- Constant Field Values
-
-
Method Detail
-
parse
public static VersionRange parse(java.lang.String range)
Creates a version range from the specified string.Version range string grammar:
range ::= interval | at least interval ::= ( '[' | '(' ) left ',' right ( ']' | ')' ) left ::= version right ::= version at least ::= version
- Parameters:
range
- String representation of the version range. The versions in the range must contain no whitespace. Other whitespace in the range string is ignored.- Throws:
java.lang.IllegalArgumentException
- Ifrange
is improperly formatted.
-
getFloor
public Version getFloor()
-
isFloorInclusive
public boolean isFloorInclusive()
-
getCeiling
public Version getCeiling()
-
isCeilingInclusive
public boolean isCeilingInclusive()
-
isInRange
public boolean isInRange(Version version)
-
isExact
public boolean isExact()
Returns whether this version range contains only a single version.- Returns:
true
if this version range contains only a single version;false
otherwise.
-
isEmpty
public boolean isEmpty()
Returns whether this version range is empty. A version range is empty if the set of versions defined by the interval is empty.- Returns:
true
if this version range is empty;false
otherwise.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-