Class ConstantFunction

All Implemented Interfaces:
Callable, Function, GroundedValue, Item, Sequence
Direct Known Subclasses:
ConstantFunction.False, ConstantFunction.True

public class ConstantFunction extends SystemFunction
A ConstantFunction is a zero-argument function that always delivers the same result, supplied at the time the function is instantiated.
  • Field Details

  • Constructor Details

    • ConstantFunction

      public ConstantFunction(GroundedValue value)
  • Method Details

    • call

      public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException
      Description copied from interface: Function
      Invoke the function
      Parameters:
      context - the XPath dynamic evaluation context
      arguments - the actual arguments to be supplied
      Returns:
      the result of invoking the function
      Throws:
      XPathException - if a dynamic error occurs within the function
    • 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
    • getIntegerBounds

      public IntegerValue[] getIntegerBounds()
      Description copied from class: SystemFunction
      For a function that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis. The default implementation returns null, meaning "unknown" or "not applicable". Other implementations return an array of two IntegerValue objects, representing the lower and upper bounds respectively. The values UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH are used to indicate values limited by the size of a string or the size of a sequence.
      Overrides:
      getIntegerBounds in class SystemFunction
      Returns:
      the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.