Class FunctionLookup

  • All Implemented Interfaces:
    Callable, FunctionItem, GroundedValue, Item, Sequence

    public class FunctionLookup
    extends ContextAccessorFunction
    This class supports the function-lookup() function in XPath 3.0. It takes as arguments a function name (QName) and arity, and returns a function item representing that function if found, or an empty sequence if not found.
    • Constructor Detail

      • FunctionLookup

        public FunctionLookup()
    • Method Detail

      • makeFunctionCall

        public Expression makeFunctionCall​(Expression... arguments)
        Description copied from class: SystemFunction
        Make an expression that either calls this function, or that is equivalent to a call on this function
        Overrides:
        makeFunctionCall in class SystemFunction
        Parameters:
        arguments - the supplied arguments to the function call
        Returns:
        either a function call on this function, or an expression that delivers the same result
      • equals

        public boolean equals​(java.lang.Object o)
        Determine whether two expressions are equivalent
        Overrides:
        equals in class SystemFunction
      • bindContext

        public FunctionItem bindContext​(XPathContext context)
        Bind a context item to appear as part of the function's closure. If this method has been called, the supplied context item will be used in preference to the context item at the point where the function is actually called.
        Specified by:
        bindContext in class ContextAccessorFunction
        Parameters:
        context - the context to which the function applies. Must not be null.
      • getSpecialProperties

        public int getSpecialProperties​(Expression[] arguments)
        Determine the special properties of this function.
        Overrides:
        getSpecialProperties in class SystemFunction
        Parameters:
        arguments - the actual arguments to the function call
        Returns:
        the properties
      • call

        public Sequence call​(XPathContext context,
                             Sequence[] arguments)
                      throws XPathException
        Evaluate the expression
        Specified by:
        call in interface Callable
        Overrides:
        call in class ContextAccessorFunction
        Parameters:
        context - the dynamic evaluation context
        arguments - the values of the arguments, supplied as SequenceIterators
        Returns:
        the result of the evaluation, in the form of a SequenceIterator
        Throws:
        XPathException - if a dynamic error occurs during the evaluation of the expression