| Modifier and Type | Class and Description |
|---|---|
class |
AdvanceUntilScanner<T> |
class |
AdvanceWhileScanner<T> |
class |
ArrayScanner<T> |
class |
BaseLinkedScanner<T,R>
Subclasses do not have to worry about closing the input scanner.
|
class |
BaseScanner<T>
Simple Scanners can extend this to avoid declaring the "current" field and "getCurrent" method
|
class |
BatchingScanner<T> |
class |
CollatingScanner<T> |
class |
ComparableScanner<T> |
class |
ConcatenatingScanner<T> |
class |
DeduplicatingConsecutiveScanner<T,R> |
class |
DistinctScanner<T,R> |
class |
EachScanner<T> |
class |
EmptyScanner<T> |
class |
FilteringScanner<T> |
class |
GeneratingScanner<T> |
class |
IteratingScanner<T> |
class |
IteratorScanner<T> |
class |
LimitingScanner<T> |
class |
MappingScanner<T,R> |
class |
NaturalSortingScanner<T> |
class |
ObjectScanner<T> |
class |
PagingScanner<K,T>
Base class for things that page through results by passing the last item as an exclusive start key for the next page
|
class |
ParallelMappingScanner<T,R> |
class |
PrefetchingScanner<T> |
class |
RandomAccessScanner<T>
Avoid an intermediate Iterator when scanning a List with RandomAccess layout.
|
class |
RetainingScanner<T> |
class |
ReverseListScanner<T>
Avoid an intermediate Iterator when scanning a List with RandomAccess layout.
|
class |
SamplingScanner<T> |
class |
ShufflingScanner<T> |
class |
SortingScanner<T> |
class |
SplittingScanner<T,R> |
class |
SteppingScanner<T> |
class |
StreamScanner<T> |
| Modifier and Type | Field and Description |
|---|---|
protected Scanner<T> |
BaseLinkedScanner.input |
| Modifier and Type | Method and Description |
|---|---|
default Scanner<T> |
Scanner.advanceUntil(Predicate<? super T> predicate)
Stop the scanner when the predicate matches, excluding the item that caused it to stop.
|
default Scanner<T> |
Scanner.advanceWhile(Predicate<? super T> predicate)
Stop the scanner when the predicated fails to match, excluding the item that caused it to stop.
|
default Scanner<T> |
Scanner.append(Iterable<T> iterable)
Concats the provided Iterable items after the current Scanner.
|
default Scanner<T> |
Scanner.append(Scanner<T> scanner)
Concats the provided Scanner after the current Scanner.
|
default Scanner<T> |
Scanner.append(T... items)
Concats the provided array items after the current Scanner.
|
default Scanner<List<T>> |
Scanner.batch(int batchSize) |
default <R> Scanner<R> |
Scanner.collate(Function<? super T,Scanner<R>> mapper)
Similar to the merge phase of a merge sort, assuming the input Scanners are sorted.
|
default <R> Scanner<R> |
Scanner.collate(Function<? super T,Scanner<R>> mapper,
Comparator<? super R> comparator)
Similar to the merge phase of a merge sort, assuming the input Scanners are sorted.
|
default <R> Scanner<R> |
Scanner.concat(Function<? super T,Scanner<R>> mapToScanner)
Combine the items from multiple Scanners into a single Scanner.
|
static <T> Scanner<T> |
Scanner.concat(Iterable<T>... iterables)
Combine the items from multiple Iterables into a single Scanner.
|
static <T> Scanner<T> |
Scanner.concat(Scanner<T>... scanners)
Combine the items from multiple Scanners into a single Scanner.
|
default <R> Scanner<R> |
Scanner.concatIter(Function<? super T,Iterable<R>> mapToIterable)
Combine the items from multiple Iterables into a single Scanner.
|
default Scanner<T> |
Scanner.deduplicateConsecutive()
Skips consecutive duplicates.
|
default Scanner<T> |
Scanner.deduplicateConsecutiveBy(Function<T,?> mapper)
Skips items where the mapper outputs the same value as the previous item.
|
default Scanner<T> |
Scanner.distinct() |
default Scanner<T> |
Scanner.distinctBy(Function<T,?> mapper) |
default Scanner<T> |
Scanner.each(Consumer<? super T> consumer)
Calls Consumer::accept on each item.
|
Scanner<T> |
ParallelScanner.each(Consumer<? super T> consumer) |
static <T> Scanner<T> |
Scanner.empty() |
default Scanner<T> |
Scanner.exclude(Predicate<? super T> predicate)
Skips items where the Predicate returns true.
|
Scanner<T> |
ParallelScanner.exclude(Predicate<? super T> predicate) |
default Scanner<T> |
Scanner.flush(Consumer<List<T>> consumer) |
static <T> Scanner<T> |
ScannerTool.flush(Scanner<T> scanner,
Consumer<List<T>> consumer) |
static <T> Scanner<T> |
Scanner.generate(Supplier<T> supplier) |
default Scanner<T> |
Scanner.include(Predicate<? super T> predicate)
Skips items where the Predicate returns false.
|
Scanner<T> |
ParallelScanner.include(Predicate<? super T> predicate) |
static <T> Scanner<T> |
Scanner.iterate(T seed,
UnaryOperator<T> unaryOperator)
Generate a sequence where each item is calculated off the one before it.
|
default Scanner<T> |
Scanner.limit(long limit)
Ends the Scanner when the limit has been reached.
|
default <R> Scanner<R> |
Scanner.link(Function<Scanner<T>,BaseLinkedScanner<T,R>> scannerBuilder)
A caller can extend BaseLinkedScanner, which has exception handling logic, and fluently include it in the
Scanner pipeline.
|
default <R> Scanner<R> |
Scanner.map(Function<? super T,? extends R> mapper)
For each input item, outputs the result of Function::apply.
|
<R> Scanner<R> |
ParallelScanner.map(Function<? super T,? extends R> mapper) |
default Scanner<T> |
Scanner.maxN(Comparator<? super T> comparator,
int num)
Retains the max N items as defined by the comparator and returns a Scanner of them in descending order.
|
static <T> Scanner<T> |
ScannerTool.maxNDesc(Scanner<T> scanner,
Comparator<? super T> comparator,
int num) |
default Scanner<T> |
Scanner.minN(Comparator<? super T> comparator,
int num)
Retains the min N items as defined by the comparator and returns a Scanner of them in ascending order.
|
static <T> Scanner<T> |
ScannerTool.minNAsc(Scanner<T> scanner,
Comparator<? super T> comparator,
int num) |
static <T> Scanner<T> |
Scanner.of(Iterable<T> iterable)
Create a Scanner of items in the Iterable.
|
static <T> Scanner<T> |
IterableScanner.of(Iterable<T> iterable) |
static <T> Scanner<T> |
Scanner.of(Iterator<T> iterator)
Create a Scanner of items in the Iterator.
|
static <T> Scanner<T> |
IteratorScanner.of(Iterator<T> iterator) |
static <T> Scanner<T> |
ReverseListScanner.of(List<T> list) |
static <T> Scanner<T> |
RandomAccessScanner.of(List<T> list) |
static <T> Scanner<T> |
OptionalScanner.of(Optional<T> optional) |
static <T> Scanner<T> |
Scanner.of(Stream<T> stream)
Create a Scanner of items in the Stream.
|
static <T> Scanner<T> |
StreamScanner.of(Stream<T> stream) |
static <T> Scanner<T> |
Scanner.of(T... array)
Create a Scanner of items in the array.
|
static <T> Scanner<T> |
Scanner.of(T object)
Convert an Object into a Scanner.
|
static <T> Scanner<T> |
ObjectScanner.of(T object) |
static <T> Scanner<T> |
ArrayScanner.of(T[] array) |
static <T> Scanner<T> |
IterableScanner.ofNullable(Iterable<T> iterable) |
static <T> Scanner<T> |
Scanner.ofNullable(T object)
Convert an Object into a Scanner if non-null.
|
static <T> Scanner<T> |
ObjectScanner.ofNullable(T object) |
default Scanner<T> |
Scanner.prefetch(ExecutorService exec,
int batchSize) |
default Scanner<RetainingGroup<T>> |
Scanner.retain(int retaining)
For retaining a window of N previous items.
|
default Scanner<T> |
Scanner.reverse()
Collect all items into an List and return a Scanner that iterates through them backwards.
|
default Scanner<T> |
Scanner.sample(long sampleSize,
boolean includeLast)
Return every Nth item.
|
default Scanner<T> |
Scanner.shuffle() |
static <T> Scanner<T> |
EmptyScanner.singleton() |
default Scanner<T> |
Scanner.skip(long numToSkip)
Skip the leading items from the Scanner.
|
static <T> Scanner<T> |
ScannerTool.skip(Scanner<T> scanner,
long numToSkip) |
default Scanner<T> |
Scanner.sort() |
default Scanner<T> |
Scanner.sort(Comparator<? super T> comparator) |
default Scanner<Scanner<T>> |
Scanner.splitBy(Function<T,?> mapper)
Applies the Function to each item in the Scanner, returning a new Scanner each time the mapped value changes.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> Function<Scanner<T>,Map<T,T>> |
ScannerToMap.of() |
static <T,K> Function<Scanner<T>,Map<K,T>> |
ScannerToMap.of(Function<T,K> keyFunction) |
static <T,K> Function<Scanner<T>,Map<K,List<T>>> |
ScannerToGroups.of(Function<T,K> keyFunction) |
static <T,K,V> Function<Scanner<T>,Map<K,V>> |
ScannerToMap.of(Function<T,K> keyFunction,
Function<T,V> valueFunction) |
static <T,K,V> Function<Scanner<T>,Map<K,List<V>>> |
ScannerToGroups.of(Function<T,K> keyFunction,
Function<T,V> valueFunction) |
static <T,K,V> Function<Scanner<T>,Map<K,V>> |
ScannerToMap.of(Function<T,K> keyFunction,
Function<T,V> valueFunction,
BinaryOperator<V> mergeFunction) |
static <T,K,V> Function<Scanner<T>,Map<K,V>> |
ScannerToMap.of(Function<T,K> keyFunction,
Function<T,V> valueFunction,
ScannerToMap.Replace replacePolicy) |
static <T,K,V,M extends Map<K,List<V>>> |
ScannerToGroups.of(Function<T,K> keyFunction,
Function<T,V> valueFunction,
Supplier<M> mapSupplier) |
static <T,K,V,C extends Collection<V>,M extends Map<K,C>> |
ScannerToGroups.of(Function<T,K> keyFunction,
Function<T,V> valueFunction,
Supplier<M> mapSupplier,
Supplier<C> collectionSupplier) |
static <T,K,V,M extends Map<K,V>> |
ScannerToMap.ofSupplied(Function<T,K> keyFunction,
Function<T,V> valueFunction,
BinaryOperator<V> mergeFunction,
Supplier<M> mapSupplier) |
static <T,K,V,M extends Map<K,V>> |
ScannerToMap.ofSupplied(Function<T,K> keyFunction,
Function<T,V> valueFunction,
ScannerToMap.Replace replacePolicy,
Supplier<M> mapSupplier) |
static <T,K,V,M extends Map<K,V>> |
ScannerToMap.ofSupplied(Function<T,K> keyFunction,
Function<T,V> valueFunction,
Supplier<M> mapSupplier) |
static <T,K,M extends Map<K,T>> |
ScannerToMap.ofSupplied(Function<T,K> keyFunction,
Supplier<M> mapSupplier) |
default Scanner<Scanner<T>> |
Scanner.splitBy(Function<T,?> mapper)
Applies the Function to each item in the Scanner, returning a new Scanner each time the mapped value changes.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> boolean |
ScannerTool.allMatch(Scanner<T> scanner,
Predicate<? super T> predicate) |
static <T> boolean |
ScannerTool.anyMatch(Scanner<T> scanner,
Predicate<? super T> predicate) |
default Scanner<T> |
Scanner.append(Scanner<T> scanner)
Concats the provided Scanner after the current Scanner.
|
M |
ScannerToMap.apply(Scanner<T> scanner) |
M |
ScannerToGroups.apply(Scanner<T> scanner) |
static <T,C extends Collection<T>> |
ScannerTool.collect(Scanner<T> scanner,
Supplier<C> collectionSupplier) |
int |
ComparableScanner.compareTo(Scanner<T> that) |
static <T> Scanner<T> |
Scanner.concat(Scanner<T>... scanners)
Combine the items from multiple Scanners into a single Scanner.
|
static <T> long |
ScannerTool.count(Scanner<T> scanner) |
static <T> Optional<T> |
ScannerTool.findAny(Scanner<T> scanner) |
static <T> Optional<T> |
ScannerTool.findFirst(Scanner<T> scanner) |
static <T> Optional<T> |
ScannerTool.findLast(Scanner<T> scanner) |
static <T> Scanner<T> |
ScannerTool.flush(Scanner<T> scanner,
Consumer<List<T>> consumer) |
static <T> void |
ScannerTool.forEach(Scanner<T> scanner,
Consumer<? super T> action) |
static <T> boolean |
ScannerTool.hasAny(Scanner<T> scanner) |
static <T> boolean |
ScannerTool.isEmpty(Scanner<T> scanner) |
static <T> ArrayList<T> |
ScannerTool.list(Scanner<T> scanner) |
static <T> Optional<T> |
ScannerTool.max(Scanner<T> scanner,
Comparator<? super T> comparator) |
static <T> Scanner<T> |
ScannerTool.maxNDesc(Scanner<T> scanner,
Comparator<? super T> comparator,
int num) |
static <T> Optional<T> |
ScannerTool.min(Scanner<T> scanner,
Comparator<? super T> comparator) |
static <T> Scanner<T> |
ScannerTool.minNAsc(Scanner<T> scanner,
Comparator<? super T> comparator,
int num) |
static <T> Stream<T> |
ScannerTool.nativeStream(Scanner<T> scanner) |
static <T> boolean |
ScannerTool.noneMatch(Scanner<T> scanner,
Predicate<? super T> predicate) |
static <T> Optional<T> |
ScannerTool.reduce(Scanner<T> scanner,
BinaryOperator<T> reducer) |
static <T> T |
ScannerTool.reduce(Scanner<T> scanner,
T seed,
BinaryOperator<T> reducer) |
static <T> Scanner<T> |
ScannerTool.skip(Scanner<T> scanner,
long numToSkip) |
static <T> Spliterator<T> |
ScannerTool.spliterator(Scanner<T> scanner) |
static <T> List<T> |
ScannerTool.take(Scanner<T> scanner,
int numToTake) |
static Object[] |
ScannerTool.toArray(Scanner<?> scanner) |
| Modifier and Type | Method and Description |
|---|---|
default <R> R |
Scanner.apply(Function<Scanner<T>,R> function)
Beta: Apply the provided Function which returns another Scanner.
|
default <R> Scanner<R> |
Scanner.collate(Function<? super T,Scanner<R>> mapper)
Similar to the merge phase of a merge sort, assuming the input Scanners are sorted.
|
default <R> Scanner<R> |
Scanner.collate(Function<? super T,Scanner<R>> mapper,
Comparator<? super R> comparator)
Similar to the merge phase of a merge sort, assuming the input Scanners are sorted.
|
default <R> Scanner<R> |
Scanner.concat(Function<? super T,Scanner<R>> mapToScanner)
Combine the items from multiple Scanners into a single Scanner.
|
default <R> Scanner<R> |
Scanner.link(Function<Scanner<T>,BaseLinkedScanner<T,R>> scannerBuilder)
A caller can extend BaseLinkedScanner, which has exception handling logic, and fluently include it in the
Scanner pipeline.
|
default void |
Scanner.then(Consumer<Scanner<T>> consumer)
Beta: Pass the current Scanner to a method that will Consume this Scanner and return nothing.
|
| Constructor and Description |
|---|
CollatingScanner(List<Scanner<T>> inputs,
Comparator<? super T> comparator) |
ConcatenatingScanner(Scanner<Scanner<T>> input) |
Copyright © 2009–2021. All rights reserved.