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

# Class LazyCollection.FlattenSetIterator

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

All Implemented Interfaces:
  `Iterator<Object>`

Enclosing class:
  LazyCollection<E>

public static class LazyCollection.FlattenSetIterator extends LazyCollection.ReadOnlyIterator<Object>
Recursively flattens any nested `Iterable`s by iterating over their elements as well. Removes any duplicates from the returned elements.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Iterator<?>`
`current`
`protected final Iterator<?>`
`inner`
`protected Object`
`next`
`protected boolean`
`nextSet`
`protected final Set<?>`
`returnedValues`

## Constructor Summary

Constructors
Constructor
Description
`FlattenSetIterator(Iterable<?> inner)`
Creates a new `LazyCollection.FlattenSetIterator` around `inner`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
`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 Details

### inner

protected final Iterator<?> inner

### returnedValues

protected final Set<?> returnedValues

### current

protected Iterator<?> current

### next

protected Object next

### nextSet

protected boolean nextSet

## Constructor Details

### FlattenSetIterator

public FlattenSetIterator(Iterable<?> inner)
Creates a new `LazyCollection.FlattenSetIterator` around `inner`.

Parameters:
  `inner` - the underlying collection

## Method Details

### hasNext

public boolean hasNext()

See Also:
  - `Iterator.hasNext()`

### next

public Object next()

See Also:
  - `Iterator.next()`