com.saxonica.extra
Class MemoFunction
java.lang.Object
net.sf.saxon.instruct.Procedure
net.sf.saxon.instruct.UserFunction
com.saxonica.extra.MemoFunction
- All Implemented Interfaces:
- Serializable, SourceLocator, LocationProvider, SaxonLocator, Container, InstructionInfo, Locator
public class MemoFunction
- extends UserFunction
A user-defined function that is declared as a memo function, meaning that it remembers results
of previous calls.
- See Also:
- Serialized Form
Methods inherited from class net.sf.saxon.instruct.UserFunction |
call, callUpdating, containsTailCalls, gatherDirectContributingCallees, getArgumentType, getConstructType, getDeclaredResultType, getEvaluationMode, getFunctionName, getNumberOfArguments, getObjectName, getParameterDefinitions, getResultType, isTailRecursive, isUpdating, iterateEvents, process, setFunctionName, setParameterDefinitions, setResultType, setTailRecursive, setUpdating |
Methods inherited from class net.sf.saxon.instruct.Procedure |
getBody, getColumnNumber, getColumnNumber, getContainerGranularity, getExecutable, getHostLanguage, getLineNumber, getLineNumber, getLocationProvider, getProperties, getProperty, getPublicId, getStackFrameMap, getSystemId, getSystemId, setBody, setExecutable, setHostLanguage, setLineNumber, setStackFrameMap, setSystemId |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MemoFunction
public MemoFunction()
computeEvaluationMode
public void computeEvaluationMode()
- Determine the preferred evaluation mode for this function
- Overrides:
computeEvaluationMode
in class UserFunction
isMemoFunction
public boolean isMemoFunction()
- Ask whether this function is a memo function
- Overrides:
isMemoFunction
in class UserFunction
- Returns:
- true if this function is marked as a memo function
call
public ValueRepresentation call(ValueRepresentation[] actualArgs,
XPathContextMajor context)
throws XPathException
- Call this function to return a value.
- Overrides:
call
in class UserFunction
- Parameters:
actualArgs
- the arguments supplied to the function. These must have the correct
types required by the function signature (it is the caller's responsibility to check this).
It is acceptable to supply a Closure
to represent a value whose
evaluation will be delayed until it is needed. The array must be the correct size to match
the number of arguments: again, it is the caller's responsibility to check this.context
- This provides the run-time context for evaluating the function. It is the caller's
responsibility to allocate a "clean" context for the function to use; the context that is provided
will be overwritten by the function.
- Returns:
- a Value representing the result of the function.
- Throws:
XPathException
Copyright (c) Saxonica Limited. All rights reserved.