public final class CharacterReader extends Object
Modifier and Type | Field and Description |
---|---|
private int |
bufLength |
private int |
bufMark |
private int |
bufPos |
private int |
bufSplitPoint |
private char[] |
charBuf |
(package private) static char |
EOF |
private static int |
maxBufferLen |
private static int |
maxStringCacheLen |
private static int |
readAheadLimit |
private Reader |
reader |
private int |
readerPos |
private String[] |
stringCache |
Constructor and Description |
---|
CharacterReader(Reader input) |
CharacterReader(Reader input,
int sz) |
CharacterReader(String input) |
Modifier and Type | Method and Description |
---|---|
void |
advance()
Moves the current position by one.
|
private void |
bufferUp() |
private static String |
cacheString(char[] charBuf,
String[] stringCache,
int start,
int count)
Caches short strings, as a flywheel pattern, to reduce GC load.
|
(package private) char |
consume() |
(package private) String |
consumeData() |
(package private) String |
consumeDigitSequence() |
(package private) String |
consumeHexSequence() |
(package private) String |
consumeLetterSequence() |
(package private) String |
consumeLetterThenDigitSequence() |
(package private) String |
consumeTagName() |
String |
consumeTo(char c)
Reads characters up to the specific char.
|
(package private) String |
consumeTo(String seq) |
String |
consumeToAny(char... chars)
Read characters until the first of any delimiters is found.
|
(package private) String |
consumeToAnySorted(char... chars) |
(package private) String |
consumeToEnd() |
(package private) boolean |
containsIgnoreCase(String seq) |
char |
current()
Get the char at the current position.
|
boolean |
isEmpty()
Tests if all the content has been read.
|
(package private) void |
mark() |
(package private) boolean |
matchConsume(String seq) |
(package private) boolean |
matchConsumeIgnoreCase(String seq) |
(package private) boolean |
matches(char c) |
(package private) boolean |
matches(String seq) |
(package private) boolean |
matchesAny(char... seq) |
(package private) boolean |
matchesAnySorted(char[] seq) |
(package private) boolean |
matchesDigit() |
(package private) boolean |
matchesIgnoreCase(String seq) |
(package private) boolean |
matchesLetter() |
(package private) int |
nextIndexOf(char c)
Returns the number of characters between the current position and the next instance of the input char
|
(package private) int |
nextIndexOf(CharSequence seq)
Returns the number of characters between the current position and the next instance of the input sequence
|
int |
pos()
Gets the current cursor position in the content.
|
(package private) static boolean |
rangeEquals(char[] charBuf,
int start,
int count,
String cached)
Check if the value of the provided range equals the string.
|
(package private) boolean |
rangeEquals(int start,
int count,
String cached) |
(package private) void |
rewindToMark() |
String |
toString() |
(package private) void |
unconsume() |
static final char EOF
private static final int maxStringCacheLen
private static final int maxBufferLen
private static final int readAheadLimit
private final char[] charBuf
private int bufLength
private int bufSplitPoint
private int bufPos
private int readerPos
private int bufMark
private final String[] stringCache
public CharacterReader(Reader input, int sz)
public CharacterReader(Reader input)
public CharacterReader(String input)
private void bufferUp()
public int pos()
public boolean isEmpty()
public char current()
char consume()
void unconsume()
public void advance()
void mark()
void rewindToMark()
int nextIndexOf(char c)
c
- scan targetint nextIndexOf(CharSequence seq)
seq
- scan targetpublic String consumeTo(char c)
c
- the delimiterpublic String consumeToAny(char... chars)
chars
- delimiters to scan forString consumeToAnySorted(char... chars)
String consumeData()
String consumeTagName()
String consumeToEnd()
String consumeLetterSequence()
String consumeLetterThenDigitSequence()
String consumeHexSequence()
String consumeDigitSequence()
boolean matches(char c)
boolean matchesIgnoreCase(String seq)
boolean matchesAny(char... seq)
boolean matchesAnySorted(char[] seq)
boolean matchesLetter()
boolean matchesDigit()
boolean matchConsume(String seq)
boolean matchConsumeIgnoreCase(String seq)
boolean containsIgnoreCase(String seq)
private static String cacheString(char[] charBuf, String[] stringCache, int start, int count)
static boolean rangeEquals(char[] charBuf, int start, int count, String cached)
boolean rangeEquals(int start, int count, String cached)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses