Package net.sf.saxon.functions
Class ScalarSystemFunction
java.lang.Object
net.sf.saxon.functions.AbstractFunction
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.ScalarSystemFunction
- All Implemented Interfaces:
Callable,FunctionItem,GroundedValue,Item,Sequence
- Direct Known Subclasses:
Abs,AccessorFn,Ceiling,DocumentUri_1,EncodeForUri,EscapeHtmlUri,Floor,GenerateId_1,IriToUri,LocalName_1,LowerCase,Name_1,NamespaceUriFn_1,NodeName_1,NormalizeSpace_1,Number_1,Path_1,String_1,StringLength_1,UpperCase
A Scalar system function is a pure function that accepts a single item as its operand,
returns a single atomic value as its result, typically returns an empty sequence if the argument is an
empty sequence, and has no context dependencies.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Sequencecall(XPathContext context, Sequence[] arguments) Evaluate the expressionabstract AtomicValueevaluate(Item arg, XPathContext context) Abstract method that must be supplied in subclasses to perform the evaluationmakeFunctionCall(Expression[] arguments) Make an expression that either calls this function, or that is equivalent to a call on this functionMethod that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value.Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getElaborator, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCallerMethods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheckMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.sf.saxon.om.FunctionItem
getGenreMethods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materializeMethods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequenceMethods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
ScalarSystemFunction
public ScalarSystemFunction()
-
-
Method Details
-
evaluate
Abstract method that must be supplied in subclasses to perform the evaluation- Parameters:
arg- the supplied argumentcontext- the dynamic context- Returns:
- the result of the evaluation
- Throws:
XPathException- if a dynamic error occurs
-
resultWhenEmpty
Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value. The default is to return the empty sequence- Returns:
- the result of evaluation when the supplied argument is an empty sequence
-
call
Evaluate the expression- Parameters:
context- the dynamic evaluation contextarguments- the values of the arguments, supplied as Sequences- Returns:
- the result of the evaluation, in the form of a Sequence
- Throws:
XPathException- if a dynamic error occurs during the evaluation of the expression
-
makeFunctionCall
Description copied from class:SystemFunctionMake an expression that either calls this function, or that is equivalent to a call on this function- Overrides:
makeFunctionCallin classSystemFunction- Parameters:
arguments- the supplied arguments to the function call- Returns:
- either a function call on this function, or an expression that delivers the same result
-