public class GenericAtomicComparer extends Object implements AtomicComparer
| Constructor and Description | 
|---|
| GenericAtomicComparer(StringCollator collator,
                     XPathContext conversionContext)Create an GenericAtomicComparer | 
| Modifier and Type | Method and Description | 
|---|---|
| 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. | 
| StringCollator | getCollator()Get the collation used by this AtomicComparer if any | 
| XPathContext | getContext() | 
| StringCollator | getStringCollator()Get the underlying string collator | 
| static AtomicComparer | makeAtomicComparer(BuiltInAtomicType type0,
                  BuiltInAtomicType type1,
                  StringCollator collator,
                  XPathContext context)Factory method to make a GenericAtomicComparer for values of known types | 
| GenericAtomicComparer | provideContext(XPathContext context)Supply the dynamic context in case this is needed for the comparison | 
| String | save()Create a string representation of this AtomicComparer that can be saved in a compiled
 package and used to reconstitute the AtomicComparer when the package is reloaded | 
public GenericAtomicComparer(StringCollator collator, XPathContext conversionContext)
collator - the collation to be usedconversionContext - a context, used when converting untyped atomic values to the target type.public static AtomicComparer makeAtomicComparer(BuiltInAtomicType type0, BuiltInAtomicType type1, StringCollator collator, XPathContext context)
type0 - primitive type of the first operandtype1 - primitive type of the second operandcollator - the collation to be used, if any. This is supplied as a SimpleCollation object
                 which encapsulated both the collation URI and the collation itself.context - the dynamic contextpublic StringCollator getCollator()
AtomicComparergetCollator in interface AtomicComparerpublic GenericAtomicComparer provideContext(XPathContext context)
provideContext in interface AtomicComparercontext - the dynamic evaluation contextpublic StringCollator getStringCollator()
public int compareAtomicValues(AtomicValue a, AtomicValue b) throws NoDynamicContextException
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 comparableNoDynamicContextException - if this comparer required access to dynamic context information,
                                   notably the implicit timezone, and this information is not available. In general this happens if a
                                   context-dependent comparison is attempted at compile-time, and it signals the compiler to generate
                                   code that tries again at run-time.public boolean comparesEqual(AtomicValue a, AtomicValue b) throws NoDynamicContextException
comparesEqual in interface AtomicComparera - the first object to be compared. 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 comparableNoDynamicContextExceptionpublic XPathContext getContext()
public String save()
save in interface AtomicComparerCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.