Package io.debezium.util
Class Iterators
- java.lang.Object
-
- io.debezium.util.Iterators
-
@Immutable public class Iterators extends Object
A utility for creating iterators.- Author:
- Randall Hauch
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceIterators.PreviewIterator<T>A read only iterator that is able to preview the next value without consuming it or altering the behavior or semantics of the normalIteratormethods.static interfaceIterators.TransformedIterator<F,T>An iterator that is able to transform its contents to another type.
-
Constructor Summary
Constructors Constructor Description Iterators()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T,U,V>
Iterator<V>around(Iterable<? extends T> first, Iterable<? extends U> second, BiFunction<T,U,V> conversion)static <V,T>
Iterator<T>around(Iterable<? extends V> iterable, Function<V,T> conversion)static <T,U,V>
Iterator<V>around(Iterator<? extends T> first, Iterator<? extends U> second, BiFunction<T,U,V> combineFirstAndSecond)static <V,T>
Iterator<T>around(Iterator<? extends V> iterator, Function<V,T> conversion)static <T> Iterable<T>around(Iterator<T> iterator)static <T> Iterator<T>empty()static <T> Iterator<T>join(Iterable<T> first, Iterable<T> second)static <T> Iterator<T>join(Iterable<T> first, T last)static <T> Iterator<T>join(Iterable<T> first, T last1, T last2)static <T> Iterator<T>join(Iterable<T> first, T last1, T last2, T last3)static <T> Iterator<T>join(Iterable<T> first, T last1, T last2, T last3, T last4)static <T> Iterator<T>join(Iterator<T> first, Iterator<T> second)static <T> Iterators.PreviewIterator<T>preview(Iterator<T> iter)Get a read-only iterator that can peek at the next value before it is retrieved withIterator.next().static <T> Iterator<T>readOnly(Iterable<T> iterable)static <V,T>
Iterator<T>readOnly(Iterable<V> iterable, Function<V,T> conversion)static <V,T>
Iterator<T>readOnly(Iterator<? extends V> iterator, Function<V,T> conversion)static <T> Iterator<T>readOnly(Iterator<T> iterator)static <V,T>
Iterable<T>readOnlyIterable(Iterable<? extends V> iterable, Function<V,T> conversion)static <T> Iterable<T>readOnlyIterable(Iterable<T> iterable)static <T> Iterable<T>toIterable(Iterator<T> iterator)static <F,T>
Iterator<T>transform(Iterator<F> fromIterator, Function<? super F,? extends T> function)Transform an iterator from a given type to super types.static <T> Iterator<T>with(T value)static <T> Iterator<T>with(T[] values)static <T> Iterator<T>with(T value1, T value2)static <T> Iterator<T>with(T value1, T value2, T value3)static <T> Iterator<T>with(T value1, T value2, T value3, T... additional)
-
-
-
Method Detail
-
empty
public static <T> Iterator<T> empty()
-
with
public static <T> Iterator<T> with(T value)
-
with
public static <T> Iterator<T> with(T value1, T value2)
-
with
public static <T> Iterator<T> with(T value1, T value2, T value3)
-
with
@SafeVarargs public static <T> Iterator<T> with(T value1, T value2, T value3, T... additional)
-
with
public static <T> Iterator<T> with(T[] values)
-
around
public static <T,U,V> Iterator<V> around(Iterable<? extends T> first, Iterable<? extends U> second, BiFunction<T,U,V> conversion)
-
around
public static <T,U,V> Iterator<V> around(Iterator<? extends T> first, Iterator<? extends U> second, BiFunction<T,U,V> combineFirstAndSecond)
-
around
public static <V,T> Iterator<T> around(Iterable<? extends V> iterable, Function<V,T> conversion)
-
around
public static <V,T> Iterator<T> around(Iterator<? extends V> iterator, Function<V,T> conversion)
-
readOnly
public static <V,T> Iterator<T> readOnly(Iterator<? extends V> iterator, Function<V,T> conversion)
-
readOnly
public static <V,T> Iterator<T> readOnly(Iterable<V> iterable, Function<V,T> conversion)
-
readOnlyIterable
public static <V,T> Iterable<T> readOnlyIterable(Iterable<? extends V> iterable, Function<V,T> conversion)
-
toIterable
public static <T> Iterable<T> toIterable(Iterator<T> iterator)
- Type Parameters:
T- the iterator type- Parameters:
iterator- the source iterator- Returns:
- the iterable
-
transform
public static <F,T> Iterator<T> transform(Iterator<F> fromIterator, Function<? super F,? extends T> function)
Transform an iterator from a given type to super types.- Type Parameters:
F- the source transform typeT- the destination transform type- Parameters:
fromIterator- the source iteratorfunction- the function to be applied when performing element transformation- Returns:
- the transformed iterator
-
preview
public static <T> Iterators.PreviewIterator<T> preview(Iterator<T> iter)
Get a read-only iterator that can peek at the next value before it is retrieved withIterator.next().- Parameters:
iter- the original iterator- Returns:
- the peeking iterator; may be null if
iteris null
-
-