Package groovy.lang

Interface Range<T extends Comparable>

All Superinterfaces:
Collection<T>, Iterable<T>, List<T>, SequencedCollection<T>
All Known Implementing Classes:
EmptyRange, IntRange, ObjectRange

public interface Range<T extends Comparable> extends List<T>
A Range represents the list of all items obtained by starting from a from value and calling next() successively until you reach the to value. For a reverse range, the list is obtained by starting at the to value and successively calling previous() until the from value is reached.
Version:
$Revision$
Author:
James Strachan
  • Method Details

    • getFrom

      Comparable getFrom()
      The lower value in the range.
      Returns:
      the lower value in the range.
    • getTo

      Comparable getTo()
      The upper value in the range.
      Returns:
      the upper value in the range
    • isReverse

      boolean isReverse()
      Indicates whether this is a reverse range which iterates backwards starting from the to value and ending on the from value
      Returns:
      true if this is a reverse range
    • containsWithinBounds

      boolean containsWithinBounds(Object o)
      Indicates whether an object is greater than or equal to the from value for the range and less than or equal to the to value.
      Parameters:
      o - the object to check against the boundaries of the range
      Returns:
      true if the object is between the from and to values
    • step

      void step(int step, Closure closure)
      Steps through the range, calling a closure for each number.
      Parameters:
      step - the amount by which to step. If negative, steps through the range backwards.
      closure - the Closure to call
    • step

      List<T> step(int step)
      Forms a list by stepping through the range by the indicated interval.
      Parameters:
      step - the amount by which to step. If negative, steps through the range backwards.
      Returns:
      the list formed by stepping through the range by the indicated interval.
    • inspect

      String inspect()
      Returns:
      the verbose String representation of this Range as would be typed into a console to create the Range instance