public class ItemAt extends ExtensionFunctionDefinition
The function takes two arguments: the first is an arbitrary sequence, the second is optional numeric. The function returns the same result as let $N := NUMBER return SEQUENCE[$N], including cases where the numeric argument is not a whole number.
Constructor and Description |
---|
ItemAt() |
Modifier and Type | Method and Description |
---|---|
SequenceType[] |
getArgumentTypes()
Get the required types for the arguments of this function, counting from zero
|
Object |
getCompilerForJava()
Return an object capable of compiling this IntegratedFunction call to Java source code.
|
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.
|
boolean |
trustResultType()
Ask whether the result actually returned by the function can be trusted,
or whether it should be checked against the declared type.
|
dependsOnFocus, hasSideEffects
public StructuredQName getFunctionQName()
getFunctionQName
in class ExtensionFunctionDefinition
public int getMinimumNumberOfArguments()
getMinimumNumberOfArguments
in class ExtensionFunctionDefinition
public int getMaximumNumberOfArguments()
getMaximumNumberOfArguments
in class ExtensionFunctionDefinition
public SequenceType[] getArgumentTypes()
getArgumentTypes
in class ExtensionFunctionDefinition
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 ExtensionFunctionDefinition
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 boolean trustResultType()
trustResultType
in class ExtensionFunctionDefinition
public ExtensionFunctionCall makeCallExpression()
makeCallExpression
in class ExtensionFunctionDefinition
public Object getCompilerForJava()
getCompilerForJava
in class ExtensionFunctionDefinition