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 Details

    • FunctionLookup

      public FunctionLookup()
  • Method Details

    • 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(Object o)
      Determine whether two expressions are equivalent
      Overrides:
      equals in class SystemFunction
    • hashCode

      public int hashCode()
      Overrides:
      hashCode 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.
    • lookup

      public FunctionItem lookup(StructuredQName name, int arity, XPathContext context) throws XPathException
      Throws:
      XPathException
    • 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