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
,Function
,GroundedValue
,Item
,Sequence
- Direct Known Subclasses:
Abs
,AccessorFn
,Ceiling
,DocumentUri_1
,EncodeForUri
,EscapeHtmlUri
,Floor
,GenerateId_1
,IriToUri
,LocalName_1
,LowerCase
,Name_1
,NamespaceUri_1
,NodeName_1
,NormalizeSpace_1
,Number_1
,Path_1
,String_1
,StringLength_1
,UpperCase
public abstract class ScalarSystemFunction extends SystemFunction
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.
-
-
Field Summary
Fields Modifier and Type Field Description static One
ZERO_LENGTH_STRING
Static constant representing a zero-length string
-
Constructor Summary
Constructors Constructor Description ScalarSystemFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ZeroOrOne
call(XPathContext context, Sequence[] arguments)
Evaluate the expressionabstract AtomicValue
evaluate(Item arg, XPathContext context)
Abstract method that must be supplied in subclasses to perform the evaluationExpression
makeFunctionCall(Expression[] arguments)
Make an expression that either calls this function, or that is equivalent to a call on this functionZeroOrOne
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.-
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getCompilerName, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getIntegerBounds, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, importAttributes, isTrustedResultType, makeCall, makeFunction, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEquals, effectiveBooleanValue, getAnnotations, getStringValue, getStringValueCS, isArray, isMap, makeNewContext, simplify, typeCheck
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Field Detail
-
ZERO_LENGTH_STRING
public static final One ZERO_LENGTH_STRING
Static constant representing a zero-length string
-
-
Method Detail
-
evaluate
public abstract AtomicValue evaluate(Item arg, XPathContext context) throws XPathException
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
public ZeroOrOne 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
public final ZeroOrOne call(XPathContext context, Sequence[] arguments) throws XPathException
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
public Expression makeFunctionCall(Expression[] arguments)
Description copied from class:SystemFunction
Make an expression that either calls this function, or that is equivalent to a call on this function- Overrides:
makeFunctionCall
in 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
-
-