net.sf.saxon.sort

Class AlphanumericCollator

Implemented Interfaces:
Serializable, StringCollator

public class AlphanumericCollator
extends java.lang.Object
implements StringCollator, java.io.Serializable

A Comparer that treats strings as an alternating sequence of alpha parts and numeric parts. The alpha parts are compared using a base collation supplied as a parameter; the numeric parts are compared numerically. "Numeric" here means a sequence of consecutive ASCII digits 0-9.

Note: this StringCollator produces an ordering that is not compatible with equals().

See Also:
Serialized Form

Constructor Summary

AlphanumericCollator(StringCollator base)
Create an alphanumeric collation

Method Summary

int
compareStrings(String s1, String s2)
Compare two objects.
Object
getCollationKey(String s)
Get a collation key for two Strings.

Constructor Details

AlphanumericCollator

public AlphanumericCollator(StringCollator base)
Create an alphanumeric collation
Parameters:
base - the collation used to compare the alphabetic parts of the string

Method Details

compareStrings

public int compareStrings(String s1,
                          String s2)
Compare two objects.
Specified by:
compareStrings in interface StringCollator
Returns:
<0 if a0 if a>b

getCollationKey

public Object getCollationKey(String s)
Get a collation key for two Strings. The essential property of collation keys is that if two values are equal under the collation, then the collation keys are compare correctly under the equals() method.
Specified by:
getCollationKey in interface StringCollator