Package org.eclipse.m2m.atl.emftvm.util

## Class LazyCollection.FlattenIterator

- java.lang.Object
- - org.eclipse.m2m.atl.emftvm.util.LazyCollection.ReadOnlyIterator<java.lang.Object>
  - - org.eclipse.m2m.atl.emftvm.util.LazyCollection.FlattenIterator

All Implemented Interfaces:
  `java.util.Iterator<java.lang.Object>`

Enclosing class:
  LazyCollection<E>

    public static class LazyCollection.FlattenIterator
    extends LazyCollection.ReadOnlyIterator<java.lang.Object>

Recursively flattens any nested `Iterable`s by iterating over their elements as well.

### Field Summary

Fields
`protected java.util.Iterator<?>` `current`
`protected java.util.Iterator<?>` `inner`
`protected java.lang.Object` `next`
`protected boolean` `nextSet`

### Constructor Summary

Constructors
`FlattenIterator​(java.lang.Iterable<?> inner)` Creates a new `LazyCollection.FlattenIterator` around `inner`.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `hasNext()`
`java.lang.Object` `next()`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.util.LazyCollection.ReadOnlyIterator

`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`

### Field Detail

#### inner

    protected final java.util.Iterator<?> inner

#### current

    protected java.util.Iterator<?> current

#### next

    protected java.lang.Object next

#### nextSet

    protected boolean nextSet

### Constructor Detail

#### FlattenIterator

    public FlattenIterator​(java.lang.Iterable<?> inner)

Creates a new `LazyCollection.FlattenIterator` around `inner`.

Parameters:
  `inner` - the underlying collection

### Method Detail

#### hasNext

    public boolean hasNext()

#### next

    public java.lang.Object next()