java.text.RuleBasedCollator
RuleBasedCollator
is a concrete subclass of
Collator
. It allows customization of the
Collator
via user-specified rule sets.
RuleBasedCollator
is designed to be fully compliant to the Unicode Collation
Algorithm (UCA) and conforms to ISO 14651.
Create a RuleBasedCollator
from a locale by calling the
getInstance(Locale)
factory method in the base class
Collator
.Collator.getInstance(Locale)
creates
a RuleBasedCollator
object based on the collation rules
defined by the argument locale. If a customized collation is required, use
the RuleBasedCollator(String)
constructor with the appropriate
rules. The customized RuleBasedCollator
will base its ordering
on UCA, while re-adjusting the attributes and orders of the characters in the
specified rule accordingly.
Summary
|
|
|
Value |
|
int |
CANONICAL_DECOMPOSITION |
Constant used to specify the decomposition rule. |
1 |
0x00000001 |
int |
FULL_DECOMPOSITION |
Constant used to specify the decomposition rule. |
2 |
0x00000002 |
int |
IDENTICAL |
Constant used to specify the collation strength. |
3 |
0x00000003 |
int |
NO_DECOMPOSITION |
Constant used to specify the decomposition rule. |
0 |
0x00000000 |
int |
PRIMARY |
Constant used to specify the collation strength. |
0 |
0x00000000 |
int |
SECONDARY |
Constant used to specify the collation strength. |
1 |
0x00000001 |
int |
TERTIARY |
Constant used to specify the collation strength. |
2 |
0x00000002 |
Public Constructors
Public Methods
clone,
compare,
compare,
equals,
equals,
getAvailableLocales,
getCollationKey,
getDecomposition,
getInstance,
getInstance,
getStrength,
hashCode,
setDecomposition,
setStrength
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
RuleBasedCollator(String rules)
Constructs a new instance of
RuleBasedCollator
using the
specified
rules
.
Parameters
rules
| the collation rules. |
Throws
ParseException
| when the rules contains an invalid collation rule syntax.
|
Public Methods
public
Object
clone()
Obtains the cloned object of the
RuleBasedCollator
Returns
- the cloned object of the
RuleBasedCollator
public
int
compare(String source, String target)
Compares the
source
text
String
to the
target
text
String
according to the
collation rules, strength and decomposition mode for this
RuleBasedCollator
. See the
Collator
class
description for an example of use.
General recommendation: If comparisons are to be done to the same String
multiple times, it would be more efficient to generate
CollationKeys
for the String
s and use
CollationKey.compareTo(CollationKey)
for the comparisons.
If the each Strings are compared to only once, using the method
RuleBasedCollator.compare(String, String) will have a better performance.
Parameters
source
| the source text |
target
| the target text |
Returns
- an integer which may be a negative value, zero, or else a
positive value depending on whether
source
is less
than, equivalent to, or greater than target
.
public
boolean
equals(Object obj)
Compares the equality of two
RuleBasedCollator
objects.
RuleBasedCollator
objects are equal if they have the same
collation rules and the same attributes.
Returns
true
if this RuleBasedCollator
has
exactly the same collation behaviour as obj, false
otherwise.
Obtains a
CollationElementIterator
for the given
CharacterIterator
. The source iterator's integrity will
be preserved since a new copy will be created for use.
Parameters
source
| the specified source |
Returns
- a
CollationElementIterator
for the source.
Obtains a
CollationElementIterator
for the given String.
Parameters
source
| the specified source |
Returns
- a
CollationElementIterator
for the given String
Obtains the
CollationKey
for the given source text.
Parameters
source
| the specified source text |
Returns
- the
CollationKey
for the given source text.
public
String
getRules()
Obtains the collation rules of the
RuleBasedCollator
.
public
int
hashCode()
Obtains a unique hash code for the
RuleBasedCollator
Returns
- the hash code for the
RuleBasedCollator