groovy.util

## Class Eval

- java.lang.Object
- - groovy.util.Eval

-     public class Eval
      extends java.lang.Object

  Allow easy integration from Groovy into Java through convenience methods.

  This class is a simple helper on top of GroovyShell. You can use it to evaluate small Groovy scripts that don't need large Binding objects. For example, this script executes with no errors:

       assert Eval.me(' 2 * 4 + 2') == 10
       assert Eval.x(2, ' x * 4 + 2') == 10

  Author:
    Dierk Koenig
  See Also:
    `GroovyShell`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Eval()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.lang.Object` | `me(java.lang.String expression)` Evaluates the specified String expression and returns the result.
    `static java.lang.Object` | `me(java.lang.String symbol, java.lang.Object object, java.lang.String expression)` Evaluates the specified String expression and makes the parameter available inside the script, returning the result.
    `static java.lang.Object` | `x(java.lang.Object x, java.lang.String expression)` Evaluates the specified String expression and makes the parameter available inside the script bound to a variable named 'x', returning the result.
    `static java.lang.Object` | `xy(java.lang.Object x, java.lang.Object y, java.lang.String expression)` Evaluates the specified String expression and makes the first two parameters available inside the script bound to variables named 'x' and 'y' respectively, returning the result.
    `static java.lang.Object` | `xyz(java.lang.Object x, java.lang.Object y, java.lang.Object z, java.lang.String expression)` Evaluates the specified String expression and makes the first three parameters available inside the script bound to variables named 'x', 'y', and 'z' respectively, returning the result.

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

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

- - ### Constructor Detail

    - #### Eval

          public Eval()

  - ### Method Detail

    - #### me

          public static java.lang.Object me(java.lang.String expression)
                                     throws CompilationFailedException

      Evaluates the specified String expression and returns the result. For example:

           assert Eval.me(' 2 * 4 + 2') == 10

      Parameters:
        `expression` - the Groovy expression to evaluate
      Returns:
        the result of the expression
      Throws:
        `CompilationFailedException` - if expression is not valid Groovy

    - #### me

          public static java.lang.Object me(java.lang.String symbol,
                                            java.lang.Object object,
                                            java.lang.String expression)
                                     throws CompilationFailedException

      Evaluates the specified String expression and makes the parameter available inside the script, returning the result. For example, this code binds the 'x' variable:

           assert Eval.me('x', 2, ' x * 4 + 2') == 10

      Parameters:
        `expression` - the Groovy expression to evaluate
      Returns:
        the result of the expression
      Throws:
        `CompilationFailedException` - if expression is not valid Groovy

    - #### x

          public static java.lang.Object x(java.lang.Object x,
                                           java.lang.String expression)
                                    throws CompilationFailedException

      Evaluates the specified String expression and makes the parameter available inside the script bound to a variable named 'x', returning the result. For example, this code executes without failure:

           assert Eval.x(2, ' x * 4 + 2') == 10

      Parameters:
        `expression` - the Groovy expression to evaluate
      Returns:
        the result of the expression
      Throws:
        `CompilationFailedException` - if expression is not valid Groovy

    - #### xy

          public static java.lang.Object xy(java.lang.Object x,
                                            java.lang.Object y,
                                            java.lang.String expression)
                                     throws CompilationFailedException

      Evaluates the specified String expression and makes the first two parameters available inside the script bound to variables named 'x' and 'y' respectively, returning the result. For example, this code executes without failure:

           assert Eval.xy(2, 4, ' x * y + 2') == 10

      Parameters:
        `expression` - the Groovy expression to evaluate
      Returns:
        the result of the expression
      Throws:
        `CompilationFailedException` - if expression is not valid Groovy

    - #### xyz

          public static java.lang.Object xyz(java.lang.Object x,
                                             java.lang.Object y,
                                             java.lang.Object z,
                                             java.lang.String expression)
                                      throws CompilationFailedException

      Evaluates the specified String expression and makes the first three parameters available inside the script bound to variables named 'x', 'y', and 'z' respectively, returning the result. For example, this code executes without failure:

           assert Eval.xyz(2, 4, 2, ' x * y + z') == 10

      Parameters:
        `expression` - the Groovy expression to evaluate
      Returns:
        the result of the expression
      Throws:
        `CompilationFailedException` - if expression is not valid Groovy