1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project******************************************************************************* 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* Copyright (C) 1996-2005, International Business Machines Corporation and * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* others. All Rights Reserved. * 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project******************************************************************************* 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project******************************************************************************* 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/ 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpackage com.ibm.icu4jni.text; 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectimport java.text.CharacterIterator; 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/** 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* Collation element iterator JNI wrapper. 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* Iterates over the collation elements of a data string. 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* The iterator supports both forward and backwards full iteration, ie if 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* backwards iteration is performed in the midst of a forward iteration, the 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* result is undefined. 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* To perform a backwards iteration in the midst of a forward iteration, 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* reset() has to be called. 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* This will shift the position to either the start or the last character in the 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* data string depending on whether next() is called or previous(). 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* <pre> 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* RuleBasedCollator coll = Collator.getInstance(); 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* CollationElementIterator iterator = coll.getCollationElementIterator("abc"); 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* int ce = 0; 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* while (ce != CollationElementIterator.NULLORDER) { 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* ce = iterator.next(); 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* } 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* iterator.reset(); 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* while (ce != CollationElementIterator.NULLORDER) { 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* ce = iterator.previous(); 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* } 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* </pre> 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @author syn wee quek 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project* @stable ICU 2.4 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project*/ 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectpublic final class CollationElementIterator 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // public data member ------------------------------------------- 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public static final int NULLORDER = 0xFFFFFFFF; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // public methods ----------------------------------------------- 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Reset the collation elements to their initial state. 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * This will move the 'cursor' to the beginning of the text. 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void reset() 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NativeCollation.reset(m_collelemiterator_); 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Get the ordering priority of the next collation element in the text. 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * A single character may contain more than one collation element. 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return next collation elements ordering, or NULLORDER if the end of the 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * text is reached. 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int next() 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return NativeCollation.next(m_collelemiterator_); 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Get the ordering priority of the previous collation element in the text. 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * A single character may contain more than one collation element. 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return previous collation element ordering, or NULLORDER if the end of 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * the text is reached. 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int previous() 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return NativeCollation.previous(m_collelemiterator_); 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Get the maximum length of any expansion sequences that end with the 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * specified comparison order. 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param order collation order returned by previous or next. 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return maximum size of the expansion sequences ending with the collation 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * element or 1 if collation element does not occur at the end of 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * any expansion sequence 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int getMaxExpansion(int order) 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return NativeCollation.getMaxExpansion(m_collelemiterator_, order); 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Set the text containing the collation elements. 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param source text containing the collation elements. 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setText(String source) 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NativeCollation.setText(m_collelemiterator_, source); 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // BEGIN android-added 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setText(CharacterIterator source) 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NativeCollation.setText(m_collelemiterator_, source.toString()); 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // END android-added 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Get the offset of the current source character. 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * This is an offset into the text of the character containing the current 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * collation elements. 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return offset of the current source character. 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public int getOffset() 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return NativeCollation.getOffset(m_collelemiterator_); 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Set the offset of the current source character. 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * This is an offset into the text of the character to be processed. 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param offset The desired character offset. 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public void setOffset(int offset) 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NativeCollation.setOffset(m_collelemiterator_, offset); 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Gets the primary order of a collation order. 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param order the collation order 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return the primary order of a collation order. 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public static int primaryOrder(int order) 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return ((order & PRIMARY_ORDER_MASK_) >> PRIMARY_ORDER_SHIFT_) & 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project UNSIGNED_16_BIT_MASK_; 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Gets the secondary order of a collation order. 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param order the collation order 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return the secondary order of a collation order. 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public static int secondaryOrder(int order) 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return (order & SECONDARY_ORDER_MASK_) >> SECONDARY_ORDER_SHIFT_; 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Gets the tertiary order of a collation order. 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param order the collation order 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @return the tertiary order of a collation order. 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project public static int tertiaryOrder(int order) 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return order & TERTIARY_ORDER_MASK_; 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // protected constructor ---------------------------------------- 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * CollationElementIteratorJNI constructor. 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * The only caller of this class should be 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * RuleBasedCollator.getCollationElementIterator(). 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @param collelemiteratoraddress address of C collationelementiterator 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project CollationElementIterator(int collelemiteratoraddress) 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project m_collelemiterator_ = collelemiteratoraddress; 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // protected methods -------------------------------------------- 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Garbage collection. 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Close C collator and reclaim memory. 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * @stable ICU 2.4 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project protected void finalize() 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project { 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project NativeCollation.closeElements(m_collelemiterator_); 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project // private data members ----------------------------------------- 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * C collator 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private int m_collelemiterator_; 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ICU constant primary order mask for collation elements 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int PRIMARY_ORDER_MASK_ = 0xffff0000; 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ICU constant secondary order mask for collation elements 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int SECONDARY_ORDER_MASK_ = 0x0000ff00; 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ICU constant tertiary order mask for collation elements 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int TERTIARY_ORDER_MASK_ = 0x000000ff; 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ICU constant primary order shift for collation elements 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int PRIMARY_ORDER_SHIFT_ = 16; 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * ICU constant secondary order shift for collation elements 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int SECONDARY_ORDER_SHIFT_ = 8; 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /** 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unsigned 16 bit mask 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project private static final int UNSIGNED_16_BIT_MASK_ = 0x0000FFFF; 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 231