Groovy 2.2.0

groovy.lang
[Java] Class IntRange

java.lang.Object
  java.util.AbstractCollection
      java.util.AbstractList
          groovy.lang.IntRange
All Implemented Interfaces:
Range

public class IntRange
extends AbstractList

Represents a list of Integer objects from a specified int up (or down) to and including a given to.

This class is a copy of ObjectRange optimized for int. If you make any changes to this class, you might consider making parallel changes to ObjectRange. Instances of this class may be either inclusive aware or non-inclusive aware. See the relevant constructors for creating each type. Inclusive aware IntRange instances are suitable for use with Groovy's range indexing - in particular if the from or to values might be negative. This normally happens underneath the covers but is worth keeping in mind if creating these ranges yourself explicitly.

Authors:
James Strachan


Method Summary
def IntRange(int from, int to)

Creates a new non-inclusive IntRange.

protected def IntRange(int from, int to, boolean reverse)

Creates a new non-inclusive aware IntRange.

def IntRange(boolean inclusive, int from, int to)

Creates a new inclusive aware IntRange.

boolean contains(Object value)

{@inheritDoc}

boolean containsAll(Collection other)

{@inheritDoc}

boolean containsWithinBounds(Object o)

boolean equals(Object that)

Determines if this object is equal to another object.

boolean equals(IntRange that)

Compares an IntRange to another IntRange.

Integer get(int index)

{@inheritDoc}

Integer getFrom()

{@inheritDoc}

int getFromInt()

Gets the 'from' value as a primitive integer.

Boolean getInclusive()

Returns the inclusive flag.

Integer getTo()

{@inheritDoc}

int getToInt()

Gets the 'to' value as a primitive integer.

String inspect()

{@inheritDoc}

boolean isReverse()

{@inheritDoc}

Iterator iterator()

{@inheritDoc}

int size()

{@inheritDoc}

void step(int step, Closure closure)

{@inheritDoc}

List step(int step)

{@inheritDoc}

List subList(int fromIndex, int toIndex)

{@inheritDoc}

RangeInfo subListBorders(int size)

A method for determining from and to information when using this IntRange to index an aggregate object of the specified size.

String toString()

{@inheritDoc}

 
Methods inherited from class AbstractList
add, add, remove, get, equals, hashCode, indexOf, clear, lastIndexOf, subList, addAll, iterator, set, listIterator, listIterator, remove, toString, contains, isEmpty, size, toArray, toArray, addAll, retainAll, containsAll, removeAll, wait, wait, wait, getClass, notify, notifyAll, size
 
Methods inherited from class AbstractCollection
add, remove, toString, clear, contains, isEmpty, size, toArray, toArray, addAll, iterator, retainAll, containsAll, removeAll, wait, wait, wait, equals, hashCode, getClass, notify, notifyAll
 

Method Detail

IntRange

public def IntRange(int from, int to)
Creates a new non-inclusive IntRange. If from is greater than to, a reverse range is created with from and to swapped.
throws:
IllegalArgumentException if the range would contain more than Integer.MAX_VALUE values.
Parameters:
from - the first number in the range.
to - the last number in the range.


IntRange

protected def IntRange(int from, int to, boolean reverse)
Creates a new non-inclusive aware IntRange.
throws:
IllegalArgumentException if from is greater than to.
Parameters:
from - the first value in the range.
to - the last value in the range.
reverse - true if the range should count from to to from.


IntRange

public def IntRange(boolean inclusive, int from, int to)
Creates a new inclusive aware IntRange.
Parameters:
from - the first value in the range.
to - the last value in the range.
inclusive - true if the to value is included in the range.


contains

public boolean contains(Object value)
{@inheritDoc}


containsAll

public boolean containsAll(Collection other)
{@inheritDoc}


containsWithinBounds

public boolean containsWithinBounds(Object o)


equals

public boolean equals(Object that)
Determines if this object is equal to another object. Delegates to AbstractList.equals if that is anything other than an IntRange.

It is not necessary to override hashCode, as AbstractList.hashCode provides a suitable hash code.

Note that equals is generally handled by DefaultGroovyMethods.equals instead of this method.

Parameters:
that - the object to compare
Returns:
true if the objects are equal


equals

public boolean equals(IntRange that)
Compares an IntRange to another IntRange.
Parameters:
that - the object to compare for equality
Returns:
true if the ranges are equal


get

public Integer get(int index)
{@inheritDoc}


getFrom

public Integer getFrom()
{@inheritDoc}


getFromInt

public int getFromInt()
Gets the 'from' value as a primitive integer.
Returns:
the 'from' value as a primitive integer.


getInclusive

public Boolean getInclusive()
Returns the inclusive flag. Null for non-inclusive aware ranges or non-null for inclusive aware ranges.


getTo

public Integer getTo()
{@inheritDoc}


getToInt

public int getToInt()
Gets the 'to' value as a primitive integer.
Returns:
the 'to' value as a primitive integer.


inspect

public String inspect()
{@inheritDoc}


isReverse

public boolean isReverse()
{@inheritDoc}


iterator

public Iterator iterator()
{@inheritDoc}


size

public int size()
{@inheritDoc}


step

public void step(int step, Closure closure)
{@inheritDoc}


step

public List step(int step)
{@inheritDoc}


subList

public List subList(int fromIndex, int toIndex)
{@inheritDoc}


subListBorders

public RangeInfo subListBorders(int size)
A method for determining from and to information when using this IntRange to index an aggregate object of the specified size. Normally only used internally within Groovy but useful if adding range indexing support for your own aggregates.
Parameters:
size - the size of the aggregate being indexed
Returns:
the calculated range information (with 1 added to the to value, ready for providing to subList


toString

public String toString()
{@inheritDoc}


 

Copyright © 2003-2013 The Codehaus. All rights reserved.