net.sf.saxon.functions
Class CollatingFunction

java.lang.Object
  extended bynet.sf.saxon.expr.ComputedExpression
      extended bynet.sf.saxon.expr.FunctionCall
          extended bynet.sf.saxon.functions.SystemFunction
              extended bynet.sf.saxon.functions.CollatingFunction
All Implemented Interfaces:
Container, Expression, InstructionInfoProvider, java.io.Serializable, javax.xml.transform.SourceLocator
Direct Known Subclasses:
Compare, Contains, DeepEqual, DistinctValues, Index, IndexOf, Minimax

public abstract class CollatingFunction
extends SystemFunction

Abstract superclass for all functions that take an optional collation argument

See Also:
Serialized Form

Field Summary
protected  XPathContext conversionContext
           
 
Fields inherited from class net.sf.saxon.functions.SystemFunction
operation
 
Fields inherited from class net.sf.saxon.expr.FunctionCall
argument
 
Fields inherited from class net.sf.saxon.expr.ComputedExpression
locationId, staticProperties
 
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
 
Constructor Summary
CollatingFunction()
           
 
Method Summary
 void checkArguments(StaticContext env)
          Method called during static type checking
protected  AtomicComparer getAtomicComparer(int arg, XPathContext context)
          Get a AtomicComparer that can be used to compare values
protected  java.util.Comparator getCollator(int arg, XPathContext context)
          Get a collator suitable for comparing strings.
 void preEvaluateCollation(StaticContext env)
          Pre-evaluate the collation argument if its value is known statically
 
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, computeCardinality, computeSpecialProperties, display, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault
 
Methods inherited from class net.sf.saxon.expr.FunctionCall
checkArgumentCount, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, preEvaluate, promote, setArguments, setFunctionNameCode, simplify, simplifyArguments, typeCheck
 
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, iterate, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, suppressValidation, typeError, typeError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

conversionContext

protected XPathContext conversionContext
Constructor Detail

CollatingFunction

public CollatingFunction()
Method Detail

checkArguments

public void checkArguments(StaticContext env)
                    throws XPathException
Description copied from class: SystemFunction
Method called during static type checking

Overrides:
checkArguments in class SystemFunction
Throws:
XPathException

preEvaluateCollation

public void preEvaluateCollation(StaticContext env)
                          throws XPathException
Pre-evaluate the collation argument if its value is known statically

Throws:
XPathException

getAtomicComparer

protected AtomicComparer getAtomicComparer(int arg,
                                           XPathContext context)
                                    throws XPathException
Get a AtomicComparer that can be used to compare values

Parameters:
arg - the position of the argument (starting at 0) containing the collation name. If this argument was not supplied, the default collation is used
context - The dynamic evaluation context.
Throws:
XPathException

getCollator

protected java.util.Comparator getCollator(int arg,
                                           XPathContext context)
                                    throws XPathException
Get a collator suitable for comparing strings. Returns the collator specified in the given function argument if present, otherwise returns the default collator.

Parameters:
arg - The argument position (counting from zero) that holds the collation URI if present
context - The dynamic context
Returns:
a Comparator, which will either be a java.text.Collator, or a CodepointCollator
Throws:
XPathException