[Java] Class Eval

  • groovy.util.Eval

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
 
See Also:
GroovyShell

Methods Summary

Methods
Type Params Return Type Name and description
static Object me(String expression)
Evaluates the specified String expression and returns the result.
static Object me(String symbol, Object object, String expression)
Evaluates the specified String expression and makes the parameter available inside the script, returning the result.
static Object x(Object x, 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 Object xy(Object x, Object y, 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 Object xyz(Object x, Object y, Object z, 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.

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Method Detail

public static Object me(String expression)

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

 assert Eval.me(' 2 * 4 + 2') == 10
 
throws:
CompilationFailedException if expression is not valid Groovy
Parameters:
expression - the Groovy expression to evaluate
Returns:
the result of the expression

public static Object me(String symbol, Object object, String expression)

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
 
throws:
CompilationFailedException if expression is not valid Groovy
Parameters:
expression - the Groovy expression to evaluate
Returns:
the result of the expression

public static Object x(Object x, String expression)

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
 
throws:
CompilationFailedException if expression is not valid Groovy
Parameters:
expression - the Groovy expression to evaluate
Returns:
the result of the expression

public static Object xy(Object x, Object y, 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. For example, this code executes without failure:

 assert Eval.xy(2, 4, ' x * y + 2') == 10
 
throws:
CompilationFailedException if expression is not valid Groovy
Parameters:
expression - the Groovy expression to evaluate
Returns:
the result of the expression

public static Object xyz(Object x, Object y, Object z, 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. For example, this code executes without failure:

 assert Eval.xyz(2, 4, 2, ' x * y + z') == 10
 
throws:
CompilationFailedException if expression is not valid Groovy
Parameters:
expression - the Groovy expression to evaluate
Returns:
the result of the expression

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.5.14/html/gapi/groovy/util/Eval.html