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

    Constructors
    Constructor
    Description
    Default constructor.
    Range(String rangeList)
    Constructor to set initial range.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    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(String[] argv)
    Main method for testing this class.
    void
    setInvert(boolean newSetting)
    Sets whether the range sense is inverted, i.e.
    void
    setRanges(String rangeList)
    Sets the ranges from a string representation.
    void
    setUpper(int newUpper)
    Sets the value of "last".
    Returns the custom display string.
    Constructs a representation of the current range.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Range

      public Range()
      Default constructor.
    • Range

      public Range(String rangeList)
      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

      public String getRanges()
      Gets the string representing the selected range of values.
      Returns:
      the range selection string
    • setRanges

      public void setRanges(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:
      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

      public String toString()
      Constructs a representation of the current range. Being a string representation, the numbers are based from 1.
      Overrides:
      toString in class 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:
      RuntimeException - if the upper limit of the range hasn't been defined
    • indicesToRangeList

      public static 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 String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • toDisplay

      public String toDisplay()
      Returns the custom display string.
      Specified by:
      toDisplay in interface CustomDisplayStringProvider
      Returns:
      the string
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - one parameter: a test range specification