groovy.lang

## Interface Range<T extends java.lang.Comparable>

All Superinterfaces:
  java.util.Collection<T>, java.lang.Iterable<T>, java.util.List<T>

All Known Implementing Classes:
  EmptyRange, IntRange, ObjectRange

    public interface Range<T extends java.lang.Comparable>
    extends java.util.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.

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `containsWithinBounds(java.lang.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.
`T` `getFrom()` The lower value in the range.
`T` `getTo()` The upper value in the range.
`java.lang.String` `inspect()`
`boolean` `isReverse()` Indicates whether this is a reverse range which iterates backwards starting from the to value and ending on the from value
`java.util.List<T>` `step(int step)` Forms a list by stepping through the range by the indicated interval.
`void` `step(int step, Closure closure)` Steps through the range, calling a closure for each number.

### Methods inherited from interface java.util.List

`add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, stream`

### Methods inherited from interface java.lang.Iterable

`forEach`

### Method Detail

#### getFrom

    T getFrom()

The lower value in the range.

Returns:
  the lower value in the range.

#### getTo

    T 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(java.lang.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.

This may be true even for values not contained in the range.

Example: from = 1.5 , to = 3, next() increments by 1 containsWithinBounds(2) == true contains(2) == false

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

    java.util.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

    java.lang.String inspect()

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