|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.lib.ExtensionFunctionDefinition com.saxonica.functions.extfn.SubsequenceTestFn
public abstract class SubsequenceTestFn
Abstract class providing functionality common to functions saxon:subsequence-before, saxon:subsequence-after etc; contains the concrete implementations of these functions as inner subclasses
Nested Class Summary | |
---|---|
static class |
SubsequenceTestFn.SubsequenceAfterFn
Implement saxon:subsequence-after |
static class |
SubsequenceTestFn.SubsequenceBeforeFn
Implement saxon:subsequence-before |
static class |
SubsequenceTestFn.SubsequenceFromFn
Implement saxon:subsequence-from |
static class |
SubsequenceTestFn.SubsequenceUntilFn
Implement saxon:subsequence-until |
Constructor Summary | |
---|---|
SubsequenceTestFn()
|
Method Summary | |
---|---|
protected abstract SequenceIterator |
compute(SequenceIterator input,
FunctionItem test,
XPathContext context)
The function that does the work, which must be implemented in subclasses |
SequenceType[] |
getArgumentTypes()
Get the required types for the arguments of this function. |
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. |
Methods inherited from class net.sf.saxon.lib.ExtensionFunctionDefinition |
---|
dependsOnFocus, getFunctionQName, hasSideEffects |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SubsequenceTestFn()
Method Detail |
---|
public int getMinimumNumberOfArguments()
The default implementation returns the number of items in the result of calling
getArgumentTypes()
getMinimumNumberOfArguments
in class ExtensionFunctionDefinition
public int getMaximumNumberOfArguments()
The default implementation returns the value of getMinimumNumberOfArguments()
getMaximumNumberOfArguments
in class ExtensionFunctionDefinition
public boolean trustResultType()
trustResultType
in class ExtensionFunctionDefinition
public SequenceType[] getArgumentTypes()
This method must be implemented in all subtypes.
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)
This method must be implemented in all subtypes.
getResultType
in class ExtensionFunctionDefinition
suppliedArgumentTypes
- the static types of the supplied 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 types of the arguments.
protected abstract SequenceIterator compute(SequenceIterator input, FunctionItem test, XPathContext context) throws XPathException
input
- the input sequencetest
- the function to be applied to the items in the sequence, which takes
an item in the sequence as input and produces a boolean as its resultcontext
- the XPath dynamic context
XPathException
- if a dynamic error occurspublic ExtensionFunctionCall makeCallExpression()
makeCallExpression
in class ExtensionFunctionDefinition
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |