com.ibm.icu.text
Class RawCollationKey

java.lang.Object
  extended by com.ibm.icu.util.ByteArrayWrapper
      extended by com.ibm.icu.text.RawCollationKey
All Implemented Interfaces:
Comparable

public final class RawCollationKey
extends ByteArrayWrapper

Simple class wrapper to store the internal byte representation of a CollationKey. Unlike the CollationKey, this class do not contain information on the source string the sort order represents. RawCollationKey is mutable and users can reuse its objects with the method in RuleBasedCollator.getRawCollationKey(..).

Please refer to the documentation on CollationKey for a detail description on the internal byte representation. Note the internal byte representation is always null-terminated.

Example of use:
String str[] = {.....}; RuleBasedCollator collator = (RuleBasedCollator)Collator.getInstance(); RawCollationKey key = new RawCollationKey(128); for (int i = 0; i < str.length; i ++) { collator.getRawCollationKey(str[i], key); // do something with key.bytes }

Note: Comparison between RawCollationKeys created by different Collators might return incorrect results. See class documentation for Collator.

See Also:
RuleBasedCollator, CollationKey
Status:
Stable ICU 2.8.

Field Summary
 
Fields inherited from class com.ibm.icu.util.ByteArrayWrapper
bytes, size
 
Constructor Summary
RawCollationKey()
          Default constructor, internal byte array is null and its size set to 0.
RawCollationKey(byte[] bytes)
          RawCollationKey created, adopting bytes as the internal byte array.
RawCollationKey(byte[] bytesToAdopt, int size)
          Construct a RawCollationKey from a byte array and size.
RawCollationKey(int capacity)
          RawCollationKey created with an empty internal byte array of length capacity.
 
Method Summary
 int compareTo(Object rhs)
          Compare this RawCollationKey to another, which must not be null.
 
Methods inherited from class com.ibm.icu.util.ByteArrayWrapper
append, ensureCapacity, equals, hashCode, releaseBytes, set, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RawCollationKey

public RawCollationKey()
Default constructor, internal byte array is null and its size set to 0.

Status:
Stable ICU 2.8.

RawCollationKey

public RawCollationKey(int capacity)
RawCollationKey created with an empty internal byte array of length capacity. Size of the internal byte array will be set to 0.

Parameters:
capacity - length of internal byte array
Status:
Stable ICU 2.8.

RawCollationKey

public RawCollationKey(byte[] bytes)
RawCollationKey created, adopting bytes as the internal byte array. Size of the internal byte array will be set to 0.

Parameters:
bytes - byte array to be adopted by RawCollationKey
Status:
Stable ICU 2.8.

RawCollationKey

public RawCollationKey(byte[] bytesToAdopt,
                       int size)
Construct a RawCollationKey from a byte array and size.

Parameters:
bytesToAdopt - the byte array to adopt
size - the length of valid data in the byte array
Throws:
IndexOutOfBoundsException - if bytesToAdopt == null and size != 0, or size < 0, or size > bytesToAdopt.length.
Status:
Stable ICU 2.8.
Method Detail

compareTo

public int compareTo(Object rhs)
Compare this RawCollationKey to another, which must not be null. This overrides the inherited implementation to ensure the returned values are -1, 0, or 1.

Specified by:
compareTo in interface Comparable
Overrides:
compareTo in class ByteArrayWrapper
Parameters:
rhs - the RawCollationKey to compare to.
Returns:
-1, 0, or 1 as this compares less than, equal to, or greater than rhs.
Throws:
ClassCastException - if the other object is not a RawCollationKey.
Status:
Stable ICU 3.2.


Copyright (c) 2009 IBM Corporation and others.