| java.lang.Object com.ibm.icu.text.UnicodeSetIterator
UnicodeSetIterator | public class UnicodeSetIterator (Code) | | UnicodeSetIterator iterates over the contents of a UnicodeSet. It
iterates over either code points or code point ranges. After all
code points or ranges have been returned, it returns the
multicharacter strings of the UnicodSet, if any.
To iterate over code points, use a loop like this:
UnicodeSetIterator it = new UnicodeSetIterator(set);
while (set.next()) {
if (set.codepoint != UnicodeSetIterator.IS_STRING) {
processCodepoint(set.codepoint);
} else {
processString(set.string);
}
}
To iterate over code point ranges, use a loop like this:
UnicodeSetIterator it = new UnicodeSetIterator(set);
while (set.nextRange()) {
if (set.codepoint != UnicodeSetIterator.IS_STRING) {
processCodepointRange(set.codepoint, set.codepointEnd);
} else {
processString(set.string);
}
}
author: M. Davis |
Field Summary | |
public static int | IS_STRING Value of codepoint if the iterator points to a string. | public int | codepoint Current code point, or the special value IS_STRING, if
the iterator points to a string. | public int | codepointEnd When iterating over ranges using nextRange(),
codepointEnd contains the inclusive end of the
iteration range, if codepoint != IS_STRING. | protected int | endElement | protected int | nextElement | public String | string If codepoint == IS_STRING, then string points
to the current string. |
Method Summary | |
public String | getString() Gets the current string from the iterator. | protected void | loadRange(int range) | public boolean | next() Returns the next element in the set, either a single code point
or a string. | public boolean | nextRange() Returns the next element in the set, either a code point range
or a string. | public void | reset(UnicodeSet set) Sets this iterator to visit the elements of the given set and
resets it to the start of that set. | public void | reset() Resets this iterator to the start of the set. |
IS_STRING | public static int IS_STRING(Code) | | Value of codepoint if the iterator points to a string.
If codepoint == IS_STRING, then examine
string for the current iteration result.
|
codepoint | public int codepoint(Code) | | Current code point, or the special value IS_STRING, if
the iterator points to a string.
|
codepointEnd | public int codepointEnd(Code) | | When iterating over ranges using nextRange(),
codepointEnd contains the inclusive end of the
iteration range, if codepoint != IS_STRING. If
iterating over code points using next(), or if
codepoint == IS_STRING, then the value of
codepointEnd is undefined.
|
endElement | protected int endElement(Code) | | |
nextElement | protected int nextElement(Code) | | |
string | public String string(Code) | | If codepoint == IS_STRING, then string points
to the current string. If codepoint != IS_STRING, the
value of string is undefined.
|
UnicodeSetIterator | public UnicodeSetIterator(UnicodeSet set)(Code) | | Create an iterator over the given set.
Parameters: set - set to iterate over |
UnicodeSetIterator | public UnicodeSetIterator()(Code) | | Create an iterator over nothing. next() and
nextRange() return false. This is a convenience
constructor allowing the target to be set later.
|
getString | public String getString()(Code) | | Gets the current string from the iterator. Only use after calling next(), not nextRange().
|
loadRange | protected void loadRange(int range)(Code) | | |
next | public boolean next()(Code) | | Returns the next element in the set, either a single code point
or a string. If there are no more elements in the set, return
false. If codepoint == IS_STRING, the value is a
string in the string field. Otherwise the value is a
single code point in the codepoint field.
The order of iteration is all code points in sorted order,
followed by all strings sorted order. codepointEnd is
undefined after calling this method. string is
undefined unless codepoint == IS_STRING. Do not mix
calls to next() and nextRange() without
calling reset() between them. The results of doing so
are undefined.
true if there was another element in the set and thisobject contains the element. |
nextRange | public boolean nextRange()(Code) | | Returns the next element in the set, either a code point range
or a string. If there are no more elements in the set, return
false. If codepoint == IS_STRING, the value is a
string in the string field. Otherwise the value is a
range of one or more code points from codepoint to
codepointeEnd inclusive.
The order of iteration is all code points ranges in sorted
order, followed by all strings sorted order. Ranges are
disjoint and non-contiguous. string is undefined
unless codepoint == IS_STRING. Do not mix calls to
next() and nextRange() without calling
reset() between them. The results of doing so are
undefined.
true if there was another element in the set and thisobject contains the element. |
reset | public void reset(UnicodeSet set)(Code) | | Sets this iterator to visit the elements of the given set and
resets it to the start of that set. The iterator is valid only
so long as set is valid.
Parameters: set - the set to iterate over. |
reset | public void reset()(Code) | | Resets this iterator to the start of the set.
|
|
|