Package io.datarouter.scanner
Class BaseLinkedScanner<T,R>
java.lang.Object
io.datarouter.scanner.BaseScanner<R>
io.datarouter.scanner.BaseLinkedScanner<T,R>
- All Implemented Interfaces:
Scanner<R>,Closeable,AutoCloseable
- Direct Known Subclasses:
AdvanceUntilScanner,AdvanceWhileScanner,BatchingScanner,ComparableScanner,ConcatenatingScanner,DeduplicatingConsecutiveScanner,DistinctScanner,EachScanner,FilteringScanner,LimitingScanner,MappingScanner,PrefetchingScanner,RetainingScanner,SamplingScanner,ShufflingScanner,SortingScanner,SplittingScanner
Subclasses do not have to worry about closing the input scanner.
-
Field Summary
FieldsFields inherited from class io.datarouter.scanner.BaseScanner
current -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class io.datarouter.scanner.BaseScanner
currentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.datarouter.scanner.Scanner
advanceUntil, advanceWhile, allMatch, anyMatch, append, append, append, apply, batch, collate, collate, collect, collect, concat, concatIter, count, deduplicateConsecutive, deduplicateConsecutiveBy, deduplicateConsecutiveBy, distinct, distinctBy, each, exclude, findFirst, findLast, findMax, findMin, flush, forEach, groupBy, groupBy, groupBy, groupBy, hasAny, include, isEmpty, iterable, iterator, limit, link, list, listTo, map, maxN, minN, noneMatch, parallel, prefetch, reduce, reduce, retain, reverse, sample, shuffle, skip, sort, sort, splitBy, stream, streamDoubles, streamInts, streamLongs, take, then, toArray, toMap, toMap, toMap, toMap, toMap, toMapSupplied, toMapSupplied, toMapSupplied, toMapSupplied
-
Field Details
-
input
-
closed
protected boolean closed
-
-
Constructor Details
-
BaseLinkedScanner
-
-
Method Details
-
advanceInternal
protected abstract boolean advanceInternal() -
advance
public final boolean advance()Description copied from interface:ScannerTry to update current to the next item, if there is one.- Returns:
- True if it advanced
-
closeInternal
protected void closeInternal()Extend to close internal resources before the input scanner is closed. -
close
public final void close()Description copied from interface:ScannerOverride to cleanup any resources. The call should be propagated to all parent scanners. In the infrequent case of calling advance/current in an application, the Scanner should be explicitly closed. Because the included Scanner operations will close themselves when they fail to advance, it frequently a no-op for the application, unless closing the scanner before it stops advancing.
-