Package org.codehaus.commons.compiler.util.iterator

# Class MultiDimensionalIterator<T>

java.lang.Object
org.codehaus.commons.compiler.util.iterator.MultiDimensionalIterator<T>

Type Parameters:
  `T` - The type of the objects that the returned iterator produces

All Implemented Interfaces:
  `Iterator<T>`

public class MultiDimensionalIterator<T> extends Object implements Iterator<T>
An `Iterator` that iterates over a delegate, which produces arrays, `Collection`s, `Enumeration`s or `Iterator`s. This `Iterator` returns the elements of these objects.

The count of dimensions is declared at construction. Count "1" produces an `Iterator` that adds no functionality to its delegate, count "2" produces an `Iterator` that behaves as explained above, and so forth.

## Constructor Summary

Constructors
Constructor
Description
`MultiDimensionalIterator(Iterator<?> delegate, int dimensionCount)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
`T`
`next()`
`void`
`remove()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`forEachRemaining`

## Constructor Details

### MultiDimensionalIterator

public MultiDimensionalIterator(Iterator<?> delegate, int dimensionCount)

## Method Details

### hasNext

public boolean hasNext()

Specified by:
  `hasNext` in interface `Iterator<T>`
Throws:
  `UniterableElementException`

### next

public T next()

Specified by:
  `next` in interface `Iterator<T>`

### remove

public void remove()

Specified by:
  `remove` in interface `Iterator<T>`