Package weka.core
Class Range
java.lang.Object
weka.core.Range
- All Implemented Interfaces:
Serializable
,CustomDisplayStringProvider
,RevisionHandler
public class Range
extends Object
implements Serializable, RevisionHandler, CustomDisplayStringProvider
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: 10203 $
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Gets whether the range sense is inverted, i.e.Gets the string representing the selected range of values.Returns the revision string.int[]
Gets an array containing all the selected values, in the order that they were selected (or ascending order if range inversion is on).static 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 method for testing this class.void
setInvert
(boolean newSetting) Sets whether the range sense is inverted, i.e.void
Sets the ranges from a string representation.void
setUpper
(int newUpper) Sets the value of "last".Returns the custom display string.toString()
Constructs a representation of the current range.
-
Constructor Details
-
Range
public Range()Default constructor. -
Range
Constructor to set initial range.- Parameters:
rangeList
- the initial range- Throws:
IllegalArgumentException
- if the range list is invalid
-
-
Method Details
-
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
Gets the string representing the selected range of values.- Returns:
- the range selection string
-
setRanges
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:
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:
RuntimeException
- if the upper limit of the range hasn't been defined
-
toString
Constructs a representation of the current range. Being a string representation, the numbers are based from 1. -
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:
RuntimeException
- if the upper limit of the range hasn't been defined
-
indicesToRangeList
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
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
toDisplay
Returns the custom display string.- Specified by:
toDisplay
in interfaceCustomDisplayStringProvider
- Returns:
- the string
-
main
Main method for testing this class.- Parameters:
argv
- one parameter: a test range specification
-