aicas logoJamaica 3.2 release 62

sun.text.normalizer
Class RuleCharacterIterator

java.lang.Object
  extended by sun.text.normalizer.RuleCharacterIterator

public class RuleCharacterIterator
extends Object

An iterator that returns 32-bit code points. This class is deliberately not related to any of the JDK or ICU4J character iterator classes in order to minimize complexity.

Since:
ICU 2.8

Field Summary
static int DONE
          Value returned when there are no more characters to iterate.
static int PARSE_ESCAPES
          Bitmask option to enable parsing of escape sequences.
static int PARSE_VARIABLES
          Bitmask option to enable parsing of variable names.
static int SKIP_WHITESPACE
          Bitmask option to enable skipping of whitespace.
 
Constructor Summary
RuleCharacterIterator(String text, SymbolTable sym, ParsePosition pos)
          Constructs an iterator over the given text, starting at the given position.
 
Method Summary
 boolean atEnd()
          Returns true if this iterator has no more characters to return.
 Object getPos(Object p)
          Returns an object which, when later passed to setPos(), will restore this iterator's position.
 boolean inVariable()
          Returns true if this iterator is currently within a variable expansion.
 boolean isEscaped()
          Returns true if the last character returned by next() was escaped.
 void jumpahead(int count)
          Advances the position by the given number of 16-bit code units.
 String lookahead()
          Returns a string containing the remainder of the characters to be returned by this iterator, without any option processing.
 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.
 void setPos(Object p)
          Restores this iterator to the position it had when getPos() returned the given object.
 void skipIgnored(int options)
          Skips ahead past any ignored characters, as indicated by the given options.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DONE

public static final int DONE
Value returned when there are no more characters to iterate.

See Also:
Constant Field Values

PARSE_VARIABLES

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.

See Also:
Constant Field Values

PARSE_ESCAPES

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.unescapeAt().

See Also:
Constant Field Values

SKIP_WHITESPACE

public static final int SKIP_WHITESPACE
Bitmask option to enable skipping of whitespace. If (options & SKIP_WHITESPACE) != 0, then whitespace characters will be silently skipped, as if they were not present in the input. Whitespace characters are defined by UCharacterProperty.isRuleWhiteSpace().

See Also:
Constant Field Values
Constructor Detail

RuleCharacterIterator

public RuleCharacterIterator(String text,
                             SymbolTable sym,
                             ParsePosition pos)
Constructs an iterator over the given text, starting at the given position.

Parameters:
text - the text to be iterated
sym - the symbol table, or null if there is none. If sym is null, then variables will not be deferenced, even if the PARSE_VARIABLES option is set.
pos - 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.
Method Detail

atEnd

public boolean atEnd()
Returns true if this iterator has no more characters to return.


next

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.

Parameters:
options - one or more of the following options, bitwise-OR-ed together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.
Returns:
the current 32-bit code point, or DONE

isEscaped

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.


inVariable

public boolean inVariable()
Returns true if this iterator is currently within a variable expansion.


getPos

public Object getPos(Object p)
Returns an object which, when later passed to setPos(), will restore this iterator's position. Usage idiom: RuleCharacterIterator iterator = ...; Object pos = iterator.getPos(null); // allocate position object for (;;) { pos = iterator.getPos(pos); // reuse position object int c = iterator.next(...); ... } iterator.setPos(pos);

Parameters:
p - a position object previously returned by getPos(), or null. If not null, it will be updated and returned. If null, a new position object will be allocated and returned.
Returns:
a position object which may be passed to setPos(), either `p,' or if `p' == null, a newly-allocated object

setPos

public void setPos(Object p)
Restores this iterator to the position it had when getPos() returned the given object.

Parameters:
p - a position object previously returned by getPos()

skipIgnored

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.

Parameters:
options - one or more of the following options, bitwise-OR-ed together: PARSE_VARIABLES, PARSE_ESCAPES, SKIP_WHITESPACE.

lookahead

public String lookahead()
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 is provided so that iterators may interoperate with string-based APIs. The typical sequence of calls is to call skipIgnored(), then call lookahead(), then parse the string returned by lookahead(), then call jumpahead() to resynchronize the iterator.

Returns:
a string containing the characters to be returned by future calls to next()

jumpahead

public void jumpahead(int count)
Advances the position by the given number of 16-bit code units. This is useful in conjunction with the lookahead() method.

Parameters:
count - the number of 16-bit code units to jump over

aicas logoJamaica 3.2 release 62

aicas GmbH, Karlsruhe - Germany    www.aicas.com
Copyright 2001-2008 aicas GmbH. All Rights Reserved.