Interface Script

  • All Known Implementing Classes:
    ExpressionImpl

    public interface Script

    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.

    Since:
    1.1
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.concurrent.Callable<java.lang.Object> callable​(JexlContext context)
      Creates a Callable from this script.
      java.util.concurrent.Callable<java.lang.Object> callable​(JexlContext context, java.lang.Object... args)
      Creates a Callable from this script.
      java.lang.Object execute​(JexlContext context)
      Executes the script with the variables contained in the supplied JexlContext.
      java.lang.Object execute​(JexlContext context, java.lang.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.
      java.lang.String[] getLocalVariables()
      Gets this script local variables.
      java.lang.String[] getParameters()
      Gets this script parameters.
      java.lang.String getText()
      Returns the text of this Script.
      java.util.Set<java.util.List<java.lang.String>> getVariables()
      Gets this script variables.
    • Method Detail

      • execute

        java.lang.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

        java.lang.Object execute​(JexlContext context,
                                 java.lang.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
      • getText

        java.lang.String getText()
        Returns the text of this Script.
        Returns:
        The script to be executed.
      • getParameters

        java.lang.String[] getParameters()
        Gets this script parameters.
        Returns:
        the parameters or null
        Since:
        2.1
      • getLocalVariables

        java.lang.String[] getLocalVariables()
        Gets this script local variables.
        Returns:
        the local variables or null
        Since:
        2.1
      • getVariables

        java.util.Set<java.util.List<java.lang.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
      • callable

        java.util.concurrent.Callable<java.lang.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

        java.util.concurrent.Callable<java.lang.Object> callable​(JexlContext context,
                                                                 java.lang.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