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 interface
Iterators.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 normalIterator
methods.static interface
Iterators.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
iter
is null
-
-