| java.lang.Object java.text.CollationElementIterator
CollationElementIterator | final public class CollationElementIterator (Code) | |
CollationElementIterator is created by a
RuleBasedCollator to iterate through a string. The return
result of each iteration is a 32-bit collation element that defines the
ordering priority of the next character or sequence of characters in the
source string.
For illustration, consider the following in Spanish:
"ca" -> the first collation element is collation_element('c') and second
collation element is collation_element('a').
Since "ch" in Spanish sorts as one entity, the below example returns one
collation element for the two characters 'c' and 'h'
"cha" -> the first collation element is collation_element('ch') and second
collation element is collation_element('a').
And in German,
Since the character '\u0086' is a composed character of 'a' and 'e', the iterator
returns two collation elements for the single character '\u0086'
"\u0086b" -> the first
collation element is collation_element('a'), the second collation element is
collation_element('e'), and the third collation element is
collation_element('b').
|
Field Summary | |
final public static int | NULLORDER This constant is returned by the iterator in the methods
next() and previous() when the end or the
beginning of the source string has been reached, and there are no more
valid collation elements to return. |
Method Summary | |
public int | getMaxExpansion(int order) Obtains the maximum length of any expansion sequence that ends with the
specified collation element. | public int | getOffset() Obtains the character offset in the source string corresponding to the
next collation element. | public int | next() Obtains the next collation element in the source string. | public int | previous() Obtains the previous collation element in the source string. | final public static int | primaryOrder(int order) Obtains the primary order of the specified collation element, i.e. | public void | reset() Repositions the cursor to point at the first element of the current
string. | final public static short | secondaryOrder(int order) Obtains the secondary order of the specified collation element, i.e. | public void | setOffset(int newOffset) Points the iterator at the collation element associated with the
character in the source string which is found at the supplied offset.
After this call completes, an invocation of the
CollationElementIterator.next() method
will return this collation element.
If newOffset corresponds to a character which is part of a
sequence that maps to a single collation element the iterator is adjusted
to the start of that sequence. | public void | setText(CharacterIterator source) Sets a new source string iterator for iteration, and reset the offset to
the beginning of the text. | public void | setText(String source) Sets a new source string for iteration, and reset the offset to the
beginning of the text. | final public static short | tertiaryOrder(int order) Obtains the tertiary order of the specified collation element, i.e. |
NULLORDER | final public static int NULLORDER(Code) | | This constant is returned by the iterator in the methods
next() and previous() when the end or the
beginning of the source string has been reached, and there are no more
valid collation elements to return.
|
CollationElementIterator | CollationElementIterator(com.ibm.icu.text.CollationElementIterator iterator)(Code) | | |
getMaxExpansion | public int getMaxExpansion(int order)(Code) | | Obtains the maximum length of any expansion sequence that ends with the
specified collation element. If there is no expansion with this collation
element as the last element, returns 1 .
Parameters: order - a collation element that has been previously obtained from acall to either the CollationElementIterator.next() or CollationElementIterator.previous()method. the maximum length of any expansion sequence ending with thespecified collation element. |
getOffset | public int getOffset()(Code) | | Obtains the character offset in the source string corresponding to the
next collation element. This value could be any of:
The index of the first character in the source string that matches
the value of the next collation element. (This means that if
setOffset(offset) sets the index in the middle of a contraction,
getOffset() returns the index of the first character in the contraction,
which may not be equal to the original offset that was set. Hence calling
getOffset() immediately after setOffset(offset) does not guarantee that
the original offset set will be returned.)
If normalization is on, the index of the immediate subsequent
character, or composite character with the first character, having a
combining class of 0.
The length of the source string, if iteration has reached the end.
The position of the collation element in the source string thatwill be returned in the next invocation of the CollationElementIterator.next()method. |
next | public int next()(Code) | | Obtains the next collation element in the source string.
the next collation element or NULLORDER if the endof the iteration has been reached. |
previous | public int previous()(Code) | | Obtains the previous collation element in the source string.
the previous collation element, or NULLORDER whenthe start of the iteration has been reached. |
primaryOrder | final public static int primaryOrder(int order)(Code) | | Obtains the primary order of the specified collation element, i.e. the
first 16 bits. This value is unsigned.
Parameters: order - the element's 16 bits primary order. |
reset | public void reset()(Code) | | Repositions the cursor to point at the first element of the current
string. The next call to next() or previous()
will return the first and last collation element in the string,
respectively.
If the RuleBasedCollator used by this iterator has had its
attributes changed, calling reset() will reinitialize the
iterator to use the new attributes.
|
secondaryOrder | final public static short secondaryOrder(int order)(Code) | | Obtains the secondary order of the specified collation element, i.e. the
16th to 23th bits, inclusive. This value is unsigned.
Parameters: order - the 8 bit secondary order of the element |
setOffset | public void setOffset(int newOffset)(Code) | | Points the iterator at the collation element associated with the
character in the source string which is found at the supplied offset.
After this call completes, an invocation of the
CollationElementIterator.next() method
will return this collation element.
If newOffset corresponds to a character which is part of a
sequence that maps to a single collation element the iterator is adjusted
to the start of that sequence. As a result of this, any subsequent call
made to getOffset() may not return the same value set by
this method.
If the decomposition mode is on, and offset is in the middle of a
decomposable range of source text, the iterator may not return a correct
result for the next forwards or backwards iteration. The user must ensure
that the offset is not in the middle of a decomposable range.
Parameters: newOffset - the character offset into the original source string to set.Note that this is not an offset into the correspondingsequence of collation elements. |
setText | public void setText(CharacterIterator source)(Code) | | Sets a new source string iterator for iteration, and reset the offset to
the beginning of the text.
Parameters: source - the new source string iterator for iteration. |
setText | public void setText(String source)(Code) | | Sets a new source string for iteration, and reset the offset to the
beginning of the text.
Parameters: source - the new source string for iteration |
tertiaryOrder | final public static short tertiaryOrder(int order)(Code) | | Obtains the tertiary order of the specified collation element, i.e. the
last 8 bits. This value is unsigned.
Parameters: order - the 8 bits tertiary order of the element |
|
|