public class ExpressionFn extends Evaluate
Evaluate.EvaluateCall, Evaluate.PreparedExpression
Constructor and Description |
---|
ExpressionFn(Configuration config) |
Modifier and Type | Method and Description |
---|---|
SequenceType[] |
getArgumentTypes()
Get the required types for the arguments of this function, counting from zero
|
StructuredQName |
getFunctionQName()
Get the function name, as a QName
|
int |
getMaximumNumberOfArguments()
Get the maximum number of arguments allowed by the function
|
int |
getMinimumNumberOfArguments()
Get the minimum number of arguments required by the function
|
SequenceType |
getResultType(SequenceType[] suppliedArgumentTypes)
Get the type of the result of the function
|
ExtensionFunctionCall |
makeCallExpression()
Create a call on this function.
|
dependsOnFocus
hasSideEffects, trustResultType
public ExpressionFn(Configuration config)
public StructuredQName getFunctionQName()
getFunctionQName
in class Evaluate
public int getMinimumNumberOfArguments()
getMinimumNumberOfArguments
in class Evaluate
public int getMaximumNumberOfArguments()
getMaximumNumberOfArguments
in class Evaluate
public SequenceType[] getArgumentTypes()
getArgumentTypes
in class Evaluate
getMaximumNumberOfArguments()
; however for functions
that allow a variable number of arguments, the array can be smaller than this, with the last
entry in the array providing the required type for all the remaining arguments.public SequenceType getResultType(SequenceType[] suppliedArgumentTypes)
getResultType
in class Evaluate
suppliedArgumentTypes
- the static types of the arguments to the function.
This is provided so that a more precise result type can be returned in the common
case where the type of the result depends on the type of the first argument. The value
will be null if the function call has no arguments.public ExtensionFunctionCall makeCallExpression()
makeCallExpression
in class Evaluate
Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.