| Modifier and Type | Class and Description |
|---|---|
| public static class | RuleCharacterIterator.Position
For use with |
| Modifier and Type | Field and Description |
|---|---|
| private String | buf
Current variable expansion, or null if none. |
| private int | bufPos
Position within buf[]. |
| public static final int | DONE
Value returned when there are no more characters to iterate. |
| private boolean | isEscaped
Flag indicating whether the last character was parsed from an escape. |
| public static final int | PARSE_ESCAPES
Bitmask option to enable parsing of escape sequences. |
| public static final int | PARSE_VARIABLES
Bitmask option to enable parsing of variable names. |
| private ParsePosition | pos
Position of iterator. |
| public static final int | SKIP_WHITESPACE
Bitmask option to enable skipping of whitespace. |
| private SymbolTable | sym
Symbol table used to parse and dereference variables. |
| private String | text
Text being iterated. |
| Access | Constructor and Description |
|---|---|
| public | RuleCharacterIterator(String
the text to be iterated text, SymbolTable the symbol table, or null if there is none. If sym is null,
then variables will not be dereferenced, even if the PARSE_VARIABLES
option is set. sym, ParsePosition upon input, the index of the next character to return. If a
variable has been dereferenced, then pos will not increment as
characters of the variable value are iterated. pos)Constructs an iterator over the given text, starting at the given position. |
| Modifier and Type | Method and Description |
|---|---|
| private void | _advance(int
the number of 16-bit code units to advance past count)Advances the position by the given amount. |
| private int | Returns: the current 32-bit code pointReturns the current 32-bit code point without parsing escapes, parsing variables, or skipping whitespace. |
| public boolean | |
| public String | Returns: a string containing the characters to be returned by future calls to next()Returns a string containing the remainder of the characters to be returned by this iterator, without any option processing. |
| public int | |
| public RuleCharacterIterator. | Returns: a position object which may be passed to setPos(), eitherp, or if p == null, a newly-allocated objecta position object previously returned by pgetPos(),
or null. If not null, it will be updated and returned. If
null, a new position object will be allocated and returned.Returns an object which, when later passed to setPos(), will restore this iterator's position. |
| public boolean | |
| public boolean | |
| public void | jumpahead(int
the number of 16-bit code units to jump over count)Advances the position by the given number of 16-bit code units. |
| public int | Returns: the current 32-bit code point, or DONEone or more of the following options, bitwise-OR-ed
together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE. options)Returns the next character using the given options, or DONE if there are no more characters, and advance the position to the next character. |
| public void | setPos(RuleCharacterIterator.
a position object previously returned by getPos() pRestores this iterator to the position it had when getPos() returned the given object. |
| public void | skipIgnored(int
one or more of the following options, bitwise-OR-ed
together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE. options)Skips ahead past any ignored characters, as indicated by the given options. |
| public String | Returns: a string representation of this objectOverrides java. |
| buf | back to summary |
|---|---|
| private String buf Current variable expansion, or null if none. | |
| bufPos | back to summary |
|---|---|
| private int bufPos Position within buf[]. Meaningless if buf == null. | |
| DONE | back to summary |
|---|---|
| public static final int DONE Value returned when there are no more characters to iterate. | |
| isEscaped | back to summary |
|---|---|
| private boolean isEscaped Flag indicating whether the last character was parsed from an escape. | |
| PARSE_ESCAPES | back to summary |
|---|---|
| public static final int PARSE_ESCAPES Bitmask option to enable parsing of escape sequences. If (options & PARSE_ESCAPES) != 0, then an embedded escape sequence will be expanded to its value. Escapes are parsed using Utility.unescapeAndLengthAt(). | |
| PARSE_VARIABLES | back to summary |
|---|---|
| public static final int PARSE_VARIABLES Bitmask option to enable parsing of variable names. If (options & PARSE_VARIABLES) != 0, then an embedded variable will be expanded to its value. Variables are parsed using the SymbolTable API. | |
| pos | back to summary |
|---|---|
| private ParsePosition pos Position of iterator. | |
| SKIP_WHITESPACE | back to summary |
|---|---|
| public static final int SKIP_WHITESPACE Bitmask option to enable skipping of whitespace. If (options & SKIP_WHITESPACE) != 0, then Unicode Pattern_White_Space characters will be silently skipped, as if they were not present in the input. | |
| sym | back to summary |
|---|---|
| private SymbolTable sym Symbol table used to parse and dereference variables. May be null. | |
| text | back to summary |
|---|---|
| private String text Text being iterated. | |
| RuleCharacterIterator | back to summary |
|---|---|
| public RuleCharacterIterator(String text, SymbolTable sym, ParsePosition pos) Constructs an iterator over the given text, starting at the given position.
| |
| _advance | back to summary |
|---|---|
| private void _advance(int count) Advances the position by the given amount.
| |
| _current | back to summary |
|---|---|
| private int _current() Returns the current 32-bit code point without parsing escapes, parsing variables, or skipping whitespace.
| |
| atEnd | back to summary |
|---|---|
| public boolean atEnd() Returns true if this iterator has no more characters to return. | |
| getCurrentBuffer | back to summary |
|---|---|
| public String getCurrentBuffer() Returns a string containing the remainder of the characters to be returned by this iterator, without any option processing. If the iterator is currently within a variable expansion, this will only extend to the end of the variable expansion. This method, together with getCurrentBufferPos() (which replace the former lookahead()), is provided so that iterators may interoperate with string-based APIs. The typical sequence of calls is to call skipIgnored(), then call these methods, then parse that substring, then call jumpahead() to resynchronize the iterator.
| |
| getCurrentBufferPos | back to summary |
|---|---|
| public int getCurrentBufferPos() | |
| getPos | back to summary |
|---|---|
| public RuleCharacterIterator. Returns an object which, when later passed to setPos(), will restore this iterator's position. Usage idiom: RuleCharacterIterator iterator = ...; Position pos = iterator.getPos(null); // allocate position object for (;;) { pos = iterator.getPos(pos); // reuse position object int c = iterator.next(...); ... } iterator.setPos(pos);
| |
| inVariable | back to summary |
|---|---|
| public boolean inVariable() Returns true if this iterator is currently within a variable expansion. | |
| isEscaped | back to summary |
|---|---|
| public boolean isEscaped() Returns true if the last character returned by next() was escaped. This will only be the case if the option passed in to next() included PARSE_ESCAPED and the next character was an escape sequence. | |
| jumpahead | back to summary |
|---|---|
| public void jumpahead(int count) Advances the position by the given number of 16-bit code units. This is useful in conjunction with getCurrentBuffer()+getCurrentBufferPos() (formerly lookahead()).
| |
| next | back to summary |
|---|---|
| public int next(int options) Returns the next character using the given options, or DONE if there are no more characters, and advance the position to the next character.
| |
| setPos | back to summary |
|---|---|
| public void setPos(RuleCharacterIterator. Restores this iterator to the position it had when getPos() returned the given object.
| |
| skipIgnored | back to summary |
|---|---|
| public void skipIgnored(int options) Skips ahead past any ignored characters, as indicated by the given options. This is useful in conjunction with the lookahead() method. Currently, this only has an effect for SKIP_WHITESPACE.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Returns a string representation of this object, consisting of the characters being iterated, with a '|' marking the current position. Position within an expanded variable is not indicated. | |
getPos(Position) & setPos(Position).
| Modifier and Type | Field and Description |
|---|---|
| private String | |
| private int | |
| private int |
| Access | Constructor and Description |
|---|---|
| public |
| buf | back to summary |
|---|---|
| private String buf | |
| bufPos | back to summary |
|---|---|
| private int bufPos | |
| posIndex | back to summary |
|---|---|
| private int posIndex | |
| Position | back to summary |
|---|---|
| public Position() | |