Package org.eclipse.xtext.nodemodel.util
Class ReversedBidiIterable<T>
- java.lang.Object
-
- org.eclipse.xtext.nodemodel.util.ReversedBidiIterable<T>
-
- All Implemented Interfaces:
java.lang.Iterable<T>,BidiIterable<T>
- Direct Known Subclasses:
ReversedBidiTreeIterable
public class ReversedBidiIterable<T> extends java.lang.Object implements BidiIterable<T>
-
-
Constructor Summary
Constructors Constructor Description ReversedBidiIterable(BidiIterable<T> delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BidiIterable<T>getDelegate()BidiIterator<T>iterator()Returns an iterator that can be used forwards and backwards.BidiIterable<T>reverse()Returns a reverse version of this iterable that can be used forwards and backwards.
-
-
-
Constructor Detail
-
ReversedBidiIterable
public ReversedBidiIterable(BidiIterable<T> delegate)
-
-
Method Detail
-
iterator
public BidiIterator<T> iterator()
Description copied from interface:BidiIterableReturns an iterator that can be used forwards and backwards.- Specified by:
iteratorin interfaceBidiIterable<T>- Specified by:
iteratorin interfacejava.lang.Iterable<T>- Returns:
- an iterator. Never returns
null.
-
reverse
public BidiIterable<T> reverse()
Description copied from interface:BidiIterableReturns a reverse version of this iterable that can be used forwards and backwards. In other words, an iterator provided by the reverse iterable will delegate its
hasNext()andnext()invocations toBidiIterator.hasPrevious()andBidiIterator.previous()respectively.This allows clients to iterate backwards by means of the enhanced for-loop:
for(T t: iterable.reverse()) { // do something with t }- Specified by:
reversein interfaceBidiIterable<T>- Returns:
- the reversed iterable. Never returns
null.
-
getDelegate
protected BidiIterable<T> getDelegate()
-
-