public class Range extends java.lang.Object implements java.io.Serializable, RevisionHandler, CustomDisplayStringProvider
first-last
1,2,3,4
or combinations thereof. The range is internally converted from 1-based to 0-based (so methods that set or get numbers not in string format should use 0-based numbers).
Constructor and Description |
---|
Range()
Default constructor.
|
Range(java.lang.String rangeList)
Constructor to set initial range.
|
Modifier and Type | Method and Description |
---|---|
boolean |
getInvert()
Gets whether the range sense is inverted, i.e.
|
java.lang.String |
getRanges()
Gets the string representing the selected range of values.
|
java.lang.String |
getRevision()
Returns the revision string.
|
int[] |
getSelection()
Gets an array containing all the selected values, in the order that they
were selected (or ascending order if range inversion is on).
|
static java.lang.String |
indicesToRangeList(int[] indices)
Creates a string representation of the indices in the supplied array.
|
boolean |
isInRange(int index)
Gets whether the supplied cardinal number is included in the current range.
|
static void |
main(java.lang.String[] argv)
Main method for testing this class.
|
void |
setInvert(boolean newSetting)
Sets whether the range sense is inverted, i.e.
|
void |
setRanges(java.lang.String rangeList)
Sets the ranges from a string representation.
|
void |
setUpper(int newUpper)
Sets the value of "last".
|
java.lang.String |
toDisplay()
Returns the custom display string.
|
java.lang.String |
toString()
Constructs a representation of the current range.
|
public Range()
public Range(java.lang.String rangeList)
rangeList
- the initial rangejava.lang.IllegalArgumentException
- if the range list is invalidpublic void setUpper(int newUpper)
newUpper
- the value of "last"public boolean getInvert()
public void setInvert(boolean newSetting)
newSetting
- true if the matching sense is invertedpublic java.lang.String getRanges()
public void setRanges(java.lang.String rangeList)
rangeList
- the comma separated list of ranges. The empty string sets
the range to empty.java.lang.IllegalArgumentException
- if the rangeList was not well formedpublic boolean isInRange(int index)
index
- the number of interestjava.lang.RuntimeException
- if the upper limit of the range hasn't been
definedpublic java.lang.String toString()
toString
in class java.lang.Object
public int[] getSelection()
java.lang.RuntimeException
- if the upper limit of the range hasn't been
definedpublic static java.lang.String indicesToRangeList(int[] indices)
indices
- an array containing indices to select. Since the array will
typically come from a program, indices are assumed from 0, and
thus will have 1 added in the String representation.public java.lang.String getRevision()
getRevision
in interface RevisionHandler
public java.lang.String toDisplay()
toDisplay
in interface CustomDisplayStringProvider
public static void main(java.lang.String[] argv)
argv
- one parameter: a test range specification