Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl3
Interface JexlScript

All Known Implementing Classes:
  Closure, Script, Script.Curried

    public interface JexlScript

A JEXL Script.

A script is some valid JEXL syntax to be executed with a given set of `JexlContext` variables.

A script is a group of statements, separated by semicolons.

The statements can be `blocks` (curly braces containing code), Control statements such as `if` and `while` as well as expressions and assignment statements.

Do not create classes that implement this interface; delegate or compose instead.

Since:
  1.1

Method Summary
`Callable<Object>` | `callable(JexlContext context)` Creates a Callable from this script.
`Callable<Object>` | `callable(JexlContext context, Object... args)` Creates a Callable from this script.
`JexlScript` | `curry(Object... args)` Curries this script, returning a script with bound arguments.
`Object` | `execute(JexlContext context)` Executes the script with the variables contained in the supplied `JexlContext`.
`Object` | `execute(JexlContext context, Object... args)` Executes the script with the variables contained in the supplied `JexlContext` and a set of arguments corresponding to the parameters used during parsing.
`String[]` | `getLocalVariables()` Gets this script local variables.
`String[]` | `getParameters()` Gets this script parameters.
`String` | `getParsedText()` Recreates the source text of this expression from the internal syntactic tree.
`String` | `getParsedText(int indent)` Recreates the source text of this expression from the internal syntactic tree.
`Map<String,Object>` | `getPragmas()` Gets this script pragmas.
`String` | `getSourceText()` Returns the source text of this expression.
`Set<List<String>>` | `getVariables()` Gets this script variables.

Method Detail

### getSourceText

    String getSourceText()

  Returns the source text of this expression.

  Returns:
    the source text

### getParsedText

    String getParsedText()

  Recreates the source text of this expression from the internal syntactic tree.

  Returns:
    the source text

### getParsedText

    String getParsedText(int indent)

  Recreates the source text of this expression from the internal syntactic tree.

  Parameters:
    `indent` - the number of spaces for indentation, 0 meaning no indentation
  Returns:
    the source text

### execute

    Object execute(JexlContext context)

  Executes the script with the variables contained in the supplied `JexlContext`.

  Parameters:
    `context` - A JexlContext containing variables.
  Returns:
    The result of this script, usually the result of the last statement.

### execute

    Object execute(JexlContext context,
                   Object... args)

  Executes the script with the variables contained in the supplied `JexlContext` and a set of arguments corresponding to the parameters used during parsing.

  Parameters:
    `context` - A JexlContext containing variables.
    `args` - the arguments
  Returns:
    The result of this script, usually the result of the last statement.
  Since:
    2.1

### getParameters

    String[] getParameters()

  Gets this script parameters.

  Returns:
    the parameters or null
  Since:
    2.1

### getLocalVariables

    String[] getLocalVariables()

  Gets this script local variables.

  Returns:
    the local variables or null
  Since:
    2.1

### getVariables

    Set<List<String>> getVariables()

  Gets this script variables.

  Note that since variables can be in an ant-ish form (ie foo.bar.quux), each variable is returned as a list of strings where each entry is a fragment of the variable ({"foo", "bar", "quux"} in the example.

  Returns:
    the variables or null
  Since:
    2.1

### getPragmas

    Map<String,Object> getPragmas()

  Gets this script pragmas.

  Returns:
    the (non null, may be empty) pragmas map

### callable

    Callable<Object> callable(JexlContext context)

  Creates a Callable from this script.

  This allows to submit it to an executor pool and provides support for asynchronous calls.

  The interpreter will handle interruption/cancellation gracefully if needed.

  Parameters:
    `context` - the context
  Returns:
    the callable
  Since:
    2.1

### callable

    Callable<Object> callable(JexlContext context,
                              Object... args)

  Creates a Callable from this script.

  This allows to submit it to an executor pool and provides support for asynchronous calls.

  The interpreter will handle interruption/cancellation gracefully if needed.

  Parameters:
    `context` - the context
    `args` - the script arguments
  Returns:
    the callable
  Since:
    2.1

### curry

    JexlScript curry(Object... args)

  Curries this script, returning a script with bound arguments.

  If this script does not declare parameters or if all of them are already bound, no error is generated and this script is returned.

  Parameters:
    `args` - the arguments to bind
  Returns:
    the curried script or this script if no binding can occur

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.