/* ****************************************************************************** * Copyright (C) 1996-2008, International Business Machines Corporation and * * others. All Rights Reserved. * ****************************************************************************** */ package com.ibm.icu.lang; import com.ibm.icu.impl.TrieIterator; import com.ibm.icu.impl.UCharacterProperty; /** * Class enabling iteration of the codepoints according to their types. * Result of each iteration contains the interval of codepoints that have * the same type. * Example of use:
*
 * RangeValueIterator iterator = UCharacter.getTypeIterator();
 * RangeValueIterator.Element element = new RangeValueIterator.Element();
 * while (iterator.next(element)) {
 *     System.out.println("Codepoint \\u" + 
 *                        Integer.toHexString(element.start) + 
 *                        " to codepoint \\u" +
 *                        Integer.toHexString(element.limit - 1) + 
 *                        " has the character type " + 
 *                        element.value);
 * }
 * 
* @author synwee * @see com.ibm.icu.util.TrieIterator * @since release 2.1, Jan 24 2002 */ class UCharacterTypeIterator extends TrieIterator { // protected constructor --------------------------------------------- /** * TrieEnumeration constructor * @param property the unicode character properties to be used */ protected UCharacterTypeIterator(UCharacterProperty property) { super(property.m_trie_); } // protected methods ---------------------------------------------- /** * Called by nextElement() to extracts a 32 bit value from a trie value * used for comparison. * This method is to be overwritten if special manipulation is to be done * to retrieve a relevant comparison. * The default function is to return the value as it is. * @param value a value from the trie * @return extracted value */ protected int extract(int value) { return value & UCharacterProperty.TYPE_MASK; } }