Package org.apache.commons.jxpath.ri.compiler

# Class ExtensionFunction

java.lang.Object
org.apache.commons.jxpath.ri.compiler.Expression
org.apache.commons.jxpath.ri.compiler.Operation
org.apache.commons.jxpath.ri.compiler.ExtensionFunction

public class ExtensionFunction extends Operation
Represents an element of the parse tree representing an extension function call.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.commons.jxpath.ri.compiler.Expression

  `Expression.PointerIterator, Expression.ValueIterator`

- ## Field Summary

  ### Fields inherited from class org.apache.commons.jxpath.ri.compiler.Operation

  `args`

  ### Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression

  `NOT_A_NUMBER, ONE, ZERO`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExtensionFunction(QName functionName, Expression[] args)`
  Constructs a new ExtensionFunction.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `compute(EvalContext context)`
  Evaluates the expression.
  `boolean`
  `computeContextDependent()`
  An extension function gets the current context, therefore it MAY be context dependent.
  `Object`
  `computeValue(EvalContext context)`
  Evaluates the expression.
  `QName`
  `getFunctionName()`
  Gets the function name
  `String`
  `toString()`

  ### Methods inherited from class org.apache.commons.jxpath.ri.compiler.Operation

  `getArguments`

  ### Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression

  `isContextDependent, iterate, iteratePointers`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ExtensionFunction

    public ExtensionFunction(QName functionName, Expression[] args)
    Constructs a new ExtensionFunction.
    Parameters:
      `functionName` - name of the function
      `args` - Expression[] of function args

- ## Method Details

  - ### compute

    public Object compute(EvalContext context)
    Description copied from class: `Expression`
    Evaluates the expression. If the result is a node set, returns the first element of the node set.
    Specified by:
      `compute` in class `Expression`
    Parameters:
      `context` - evaluation context
    Returns:
      Object

  - ### computeContextDependent

    public boolean computeContextDependent()
    An extension function gets the current context, therefore it MAY be context dependent.
    Overrides:
      `computeContextDependent` in class `Operation`
    Returns:
      true

  - ### computeValue

    public Object computeValue(EvalContext context)
    Description copied from class: `Expression`
    Evaluates the expression. If the result is a node set, returns the first element of the node set.
    Specified by:
      `computeValue` in class `Expression`
    Parameters:
      `context` - evaluation context
    Returns:
      Object

  - ### getFunctionName

    public QName getFunctionName()
    Gets the function name
    Returns:
      QName

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`