Package libcore.icu

Class CollationElementIteratorICU


  • public final class CollationElementIteratorICU
    extends Object
    Collation element iterator JNI wrapper. Iterates over the collation elements of a data string. The iterator supports both forward and backwards full iteration, ie if backwards iteration is performed in the midst of a forward iteration, the result is undefined. To perform a backwards iteration in the midst of a forward iteration, reset() has to be called. This will shift the position to either the start or the last character in the data string depending on whether next() is called or previous().
       RuleBasedCollator coll = Collator.getInstance();
       CollationElementIterator iterator = coll.getCollationElementIterator("abc");
       int ce = 0;
       while (ce != CollationElementIterator.NULLORDER) {
         ce = iterator.next();
       }
       iterator.reset();
       while (ce != CollationElementIterator.NULLORDER) {
         ce = iterator.previous();
       }
     
    • Method Detail

      • reset

        public void reset()
        Reset the collation elements to their initial state. This will move the 'cursor' to the beginning of the text.
      • next

        public int next()
        Get the ordering priority of the next collation element in the text. A single character may contain more than one collation element.
        Returns:
        next collation elements ordering, or NULLORDER if the end of the text is reached.
      • previous

        public int previous()
        Get the ordering priority of the previous collation element in the text. A single character may contain more than one collation element.
        Returns:
        previous collation element ordering, or NULLORDER if the end of the text is reached.
      • getMaxExpansion

        public int getMaxExpansion​(int order)
        Get the maximum length of any expansion sequences that end with the specified comparison order.
        Parameters:
        order - collation order returned by previous or next.
        Returns:
        maximum size of the expansion sequences ending with the collation element or 1 if collation element does not occur at the end of any expansion sequence
      • setText

        public void setText​(String source)
        Set the text containing the collation elements.
        Parameters:
        source - text containing the collation elements.
      • getOffset

        public int getOffset()
        Get the offset of the current source character. This is an offset into the text of the character containing the current collation elements.
        Returns:
        offset of the current source character.
      • setOffset

        public void setOffset​(int offset)
        Set the offset of the current source character. This is an offset into the text of the character to be processed.
        Parameters:
        offset - The desired character offset.
      • primaryOrder

        public static int primaryOrder​(int order)
        Gets the primary order of a collation order.
        Parameters:
        order - the collation order
        Returns:
        the primary order of a collation order.
      • secondaryOrder

        public static int secondaryOrder​(int order)
        Gets the secondary order of a collation order.
        Parameters:
        order - the collation order
        Returns:
        the secondary order of a collation order.
      • tertiaryOrder

        public static int tertiaryOrder​(int order)
        Gets the tertiary order of a collation order.
        Parameters:
        order - the collation order
        Returns:
        the tertiary order of a collation order.
      • finalize

        protected void finalize()
                         throws Throwable
        Garbage collection. Close C collator and reclaim memory.
        Overrides:
        finalize in class Object
        Throws:
        Throwable