Package weka.core
Class Range
- java.lang.Object
-
- weka.core.Range
-
- All Implemented Interfaces:
java.io.Serializable
,RevisionHandler
public class Range extends java.lang.Object implements java.io.Serializable, RevisionHandler
Class representing a range of cardinal numbers. The range is set by a string representation such as: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).
- Version:
- $Revision: 1.18 $
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
getInvert()
Gets whether the range sense is inverted, i.e.java.lang.String
getRanges()
Gets the string representing the selected range of valuesjava.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
toString()
Constructs a representation of the current range.
-
-
-
Method Detail
-
setUpper
public void setUpper(int newUpper)
Sets the value of "last".- Parameters:
newUpper
- the value of "last"
-
getInvert
public boolean getInvert()
Gets whether the range sense is inverted, i.e. all except the values included by the range string are selected.- Returns:
- whether the matching sense is inverted
-
setInvert
public void setInvert(boolean newSetting)
Sets whether the range sense is inverted, i.e. all except the values included by the range string are selected.- Parameters:
newSetting
- true if the matching sense is inverted
-
getRanges
public java.lang.String getRanges()
Gets the string representing the selected range of values- Returns:
- the range selection string
-
setRanges
public void setRanges(java.lang.String rangeList)
Sets the ranges from a string representation. Note that setUpper() must be called afterwards for ranges to be actually set internally.- Parameters:
rangeList
- the comma separated list of ranges. The empty string sets the range to empty.- Throws:
java.lang.IllegalArgumentException
- if the rangeList was not well formed
-
isInRange
public boolean isInRange(int index)
Gets whether the supplied cardinal number is included in the current range.- Parameters:
index
- the number of interest- Returns:
- true if index is in the current range
- Throws:
java.lang.RuntimeException
- if the upper limit of the range hasn't been defined
-
toString
public java.lang.String toString()
Constructs a representation of the current range. Being a string representation, the numbers are based from 1.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the string representation of the current range
-
getSelection
public 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)- Returns:
- the array of selected values
- Throws:
java.lang.RuntimeException
- if the upper limit of the range hasn't been defined
-
indicesToRangeList
public static java.lang.String indicesToRangeList(int[] indices)
Creates a string representation of the indices in the supplied array.- Parameters:
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.- Returns:
- the string representation of the indices
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv
- one parameter: a test range specification
-
-