ThreadAheadReadable doing both the
reading and parsing one BufferedCharSeeker is used over a stream of chunks, where the next
chunk seamlessly transitions into the next, this class comes in handy.BufferedReader for a Reader.Readable, but focused on char[], via a SectionedCharBuffer with one of the main reasons
that Reader.read(CharBuffer) creates a new char[] as big as the data it's about to read
every call.BufferedCharSeeker with optional read-ahead capability.BufferedCharSeeker with optional read-ahead capability.CharSeeker implementations.SectionedCharBuffer.array() from (and including) the given from index of the array
and all characters forwards to SectionedCharBuffer.front() (excluding) index.Magic.of(File) and Magic.of(byte[]).Mark, previously populated by a call to CharSeeker.seek(Mark, int).T from the given character data.char[] into any type of value, f.ex.Extractor.BufferedCharSeeker.Magic signature.CharReadable instances look like one.file.Magic.NONE.buffer.offset, reading length number of characters.CharReadable instances.reader into the front section of this buffer, setting SectionedCharBuffer.front()
accordingly afterwards.SectionedCharBuffer.readFrom(Reader) but with added max argument for limiting the number of
characters read from the Reader.CharBuffer, but is tailored to how BufferedCharSeeker
works and to be able to take full advantage of ThreadAheadReadable.untilOneOfChars, or if end-of-line,
or even end-of-file.CharReadable, it's just that the reading happens in a separate thread, so when
a consumer wants to ThreadAheadReadable.read(SectionedCharBuffer, int) more data it's already available, merely a memcopy away.Mark, previously populated by a call to CharSeeker.seek(Mark, int).Object.toString() must provide a description of the data source.Copyright © 2002–2016 The Neo4j Graph Database Project. All rights reserved.