public class DynamicFunctionCallDefinition extends ExtensionFunctionDefinition
| Modifier and Type | Class and Description |
|---|---|
static class |
DynamicFunctionCallDefinition.DynamicFunctionCall |
| Constructor and Description |
|---|
DynamicFunctionCallDefinition() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
dependsOnFocus()
Ask whether the result of the function depends on the focus, or on other variable parts
of the context.
|
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.
|
hasSideEffects, trustResultTypepublic StructuredQName getFunctionQName()
getFunctionQName in class ExtensionFunctionDefinitionpublic int getMinimumNumberOfArguments()
getMinimumNumberOfArguments in class ExtensionFunctionDefinitionpublic int getMaximumNumberOfArguments()
getMaximumNumberOfArguments in class ExtensionFunctionDefinitionpublic SequenceType[] getArgumentTypes()
getArgumentTypes in class ExtensionFunctionDefinitiongetMaximumNumberOfArguments(); 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 boolean dependsOnFocus()
dependsOnFocus in class ExtensionFunctionDefinitionThe default implementation returns false.
The method must return true if the function makes use of any of these values from the dynamic context. Returning true inhibits certain optimizations, such as moving the function call out of the body of an xsl:for-each loop, or extracting it into a global variable.
public SequenceType getResultType(SequenceType[] suppliedArgumentTypes)
getResultType in class ExtensionFunctionDefinitionsuppliedArgumentTypes - 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 ExtensionFunctionDefinitionCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.