Package net.sf.saxon.functions
Class ConstantFunction
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.ConstantFunction
-
- All Implemented Interfaces:
Callable
,Function
,GroundedValue
,Item
,Sequence
- Direct Known Subclasses:
ConstantFunction.False
,ConstantFunction.True
public class ConstantFunction extends SystemFunction
A ConstantFunction is a zero-argument function that always delivers the same result, supplied at the time the function is instantiated.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ConstantFunction.False
static class
ConstantFunction.True
-
Field Summary
Fields Modifier and Type Field Description GroundedValue
value
-
Constructor Summary
Constructors Constructor Description ConstantFunction(GroundedValue value)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Sequence
call(XPathContext context, Sequence[] arguments)
Invoke the functionIntegerValue[]
getIntegerBounds()
For a function that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis.Expression
makeFunctionCall(Expression[] arguments)
Make an expression that either calls this function, or that is equivalent to a call on this function-
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, 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
-
value
public GroundedValue value
-
-
Constructor Detail
-
ConstantFunction
public ConstantFunction(GroundedValue value)
-
-
Method Detail
-
call
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
Description copied from interface:Function
Invoke the function- Parameters:
context
- the XPath dynamic evaluation contextarguments
- the actual arguments to be supplied- Returns:
- the result of invoking the function
- Throws:
XPathException
- if a dynamic error occurs within the function
-
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
-
getIntegerBounds
public IntegerValue[] getIntegerBounds()
Description copied from class:SystemFunction
For a function that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis. The default implementation returns null, meaning "unknown" or "not applicable". Other implementations return an array of two IntegerValue objects, representing the lower and upper bounds respectively. The values UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH are used to indicate values limited by the size of a string or the size of a sequence.- Overrides:
getIntegerBounds
in classSystemFunction
- Returns:
- the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.
-
-