| 
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.Objectnet.sf.saxon.sort.CollatingAtomicComparer
public class CollatingAtomicComparer
An AtomicComparer used for comparing strings, untypedAtomic values, and URIs using a collation. A CollatingAtomicComparer is used when it is known in advance that both operands will be of these types. This enables all conversions and promotions to be bypassed: the string values of both operands are simply extracted and passed to the collator for comparison.
| Constructor Summary | |
|---|---|
CollatingAtomicComparer(StringCollator collator,
                        Platform platform)
Create an GenericAtomicComparer  | 
|
| Method Summary | |
|---|---|
 int | 
compareAtomicValues(AtomicValue a,
                    AtomicValue b)
Compare two AtomicValue objects according to the rules for their data type.  | 
 boolean | 
comparesEqual(AtomicValue a,
              AtomicValue b)
Compare two AtomicValue objects for equality according to the rules for their data type.  | 
 String | 
getCollationURI()
Get the collation URI  | 
 ComparisonKey | 
getComparisonKey(AtomicValue a)
Get a comparison key for an object.  | 
| Methods inherited from class java.lang.Object | 
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public CollatingAtomicComparer(StringCollator collator,
                               Platform platform)
collator - the collation to be used. If the method is called at compile time, this should
 be a NamedCollation so that it can be cloned at run-time.platform - used to obtain collation keys.| Method Detail | 
|---|
public String getCollationURI()
public int compareAtomicValues(AtomicValue a,
                               AtomicValue b)
compareAtomicValues in interface AtomicComparera - the first object to be compared. It is intended that this should be an instance
 of AtomicValue, though this restriction is not enforced. If it is a StringValue, the
 collator is used to compare the values, otherwise the value must implement the java.util.Comparable
 interface.b - the second object to be compared. This must be comparable with the first object: for
 example, if one is a string, they must both be strings.
ClassCastException - if the objects are not comparable
public boolean comparesEqual(AtomicValue a,
                             AtomicValue b)
comparesEqual in interface AtomicComparera - the first object to be compared. It is intended that this should be an instance
 of AtomicValue, though this restriction is not enforced. If it is a StringValue, the
 collator is used to compare the values, otherwise the value must implement the equals() method.b - the second object to be compared. This must be comparable with the first object: for
 example, if one is a string, they must both be strings.
ClassCastException - if the objects are not comparablepublic ComparisonKey getComparisonKey(AtomicValue a)
getComparisonKey in interface AtomicComparer
  | 
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||