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

# Class LazyCollection.CachingIterator

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

All Implemented Interfaces:
  `Iterator<E>`

Direct Known Subclasses:
  `EnumConversionList.EnumConversionIterator`, `EnumConversionSetOnSet.EnumConversionIterator`, `LazyBag.BagIntersectionIterator`, `LazyCollection.CachingSetIterator`, `LazyCollection.ExcludingIterator`, `LazyCollection.FilterIterator`, `LazyCollection.IntersectionIterator`, `LazyCollection.IteratorToListIterator`, `LazyCollection.SubtractionIterator`, `ModelImpl.InstanceOfList.InstanceOfIterator`, `OCLOperations.ResolveList.ResolveIterator`

Enclosing class:
  `LazyCollection<E>`

public class LazyCollection.CachingIterator extends LazyCollection.ReadOnlyIterator<E>
`LazyCollection.ReadOnlyIterator` that caches values of the underlying collection.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected int`
`i`
`protected final Iterator<E>`
`inner`

## Constructor Summary

Constructors
Constructor
Description
`CachingIterator(Iterator<E> inner)`
Creates a new `LazyCollection<E>.CachingIterator` around `inner`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`hasNext()`
`E`
`next()`
`protected final void`
`updateCache(E next)`
Updates the cache with `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<E> inner

### i

protected int i

## Constructor Details

### CachingIterator

public CachingIterator(Iterator<E> inner)
Creates a new `LazyCollection<E>.CachingIterator` around `inner`.

Parameters:
  `inner` - the underlying collection iterator

## Method Details

### hasNext

public boolean hasNext()

### next

public E next()

### updateCache

protected final void updateCache(E next)
Updates the cache with `next`.

Parameters:
  `next` - the next element returned by this iterator