Class MVEL
java.lang.Object
org.mvel2.MVEL
The MVEL convienence class is a collection of static methods that provides a set of easy integration points for
MVEL. The vast majority of MVEL's core functionality can be directly accessed through methods in this class.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic voidanalysisCompile(char[] expression, ParserContext ctx) Performs an analysis compileShared, which will populate the ParserContext with type, input and variable information, but will not produce a payload.static voidanalysisCompile(String expression, ParserContext ctx) static Classanalyze(char[] expression, ParserContext ctx) static Classanalyze(String expression, ParserContext ctx) static SerializablecompileExpression(char[] expression) static SerializablecompileExpression(char[] expression, int start, int offset, ParserContext ctx) static SerializablecompileExpression(char[] expression, Map<String, Object> imports) static SerializablecompileExpression(char[] expression, Map<String, Object> imports, Map<String, Interceptor> interceptors) static SerializablecompileExpression(char[] expression, Map<String, Object> imports, Map<String, Interceptor> interceptors, String sourceName) Compiles an expression and returns a Serializable object containing the compiled expression.static SerializablecompileExpression(char[] expression, ParserContext ctx) static SerializablecompileExpression(String expression) Compiles an expression and returns a Serializable object containing the compiled expression.static SerializablecompileExpression(String expression, Map<String, Object> imports) Compiles an expression and returns a Serializable object containing the compiled expression.static SerializablecompileExpression(String expression, Map<String, Object> imports, Map<String, Interceptor> interceptors) Compiles an expression and returns a Serializable object containing the compiled expression.static SerializablecompileExpression(String expression, Map<String, Object> imports, Map<String, Interceptor> interceptors, String sourceName) static SerializablecompileExpression(String expression, ParserContext ctx) Compiles an expression, and accepts aParserContextinstance.static SerializablecompileGetExpression(char[] expression) static SerializablecompileGetExpression(char[] expression, ParserContext ctx) static SerializablecompileGetExpression(String expression) static SerializablecompileGetExpression(String expression, ParserContext ctx) static SerializablecompileSetExpression(char[] expression) static SerializablecompileSetExpression(char[] expression, int start, int offset, ParserContext ctx) static SerializablecompileSetExpression(char[] expression, Class ingressType, ParserContext ctx) static SerializablecompileSetExpression(char[] expression, ParserContext ctx) static SerializablecompileSetExpression(String expression) static SerializablecompileSetExpression(String expression, Class ingressType, ParserContext ctx) static SerializablecompileSetExpression(String expression, ParserContext ctx) static Objecteval(char[] expression) Evaluate an expression and return the value.static Objecteval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars) static <T> Teval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars, Class<T> toType) static <T> Tstatic ObjectEvaluate an expression against a context object and return the valuestatic <T> TEvaluate an expression with a context object and return the value.static ObjectEvaluate an expression against a context object and return the valuestatic <T> TEvaluate an expression with a context object and injected variables and return the value.static Objecteval(char[] expression, Object ctx, VariableResolverFactory vars) Evaluate an expression against a context object and return the valuestatic <T> Teval(char[] expression, Object ctx, VariableResolverFactory vars, Class<T> toType) Evaluate an expression with a context object and injected variables and return the value.static <T> TEvaluate an expression with injected variables and return the resultant value.static <T> Teval(char[] expression, VariableResolverFactory vars, Class<T> toType) Evaluate an expression with injected variables and return the value.static ObjectEvaluate an expression and return the value.static <T> TEvaluates an expression and, if necessary, coerces the resultant value to the specified type.static ObjectEvaluate an expression against a context object.static <T> TEvaluates an expression against a context object and, if necessary, coerces the resultant value to the specified type.static ObjectEvaluates an expression against a context object and externally injected variables.static <T> TEvaluates an expression against a context object and externally injected variables.static Objecteval(String expression, Object ctx, VariableResolverFactory resolverFactory) Evaluates an expression against a context object and injected variables from aVariableResolverFactory.static <T> Teval(String expression, Object ctx, VariableResolverFactory vars, Class<T> toType) Evaluates an expression against a context object and externally injected variables.static ObjectEvaluates an expression against externally injected variables.static <T> TEvaluates an expression against externally injected variables.static Objecteval(String expression, VariableResolverFactory resolverFactory) Evaluate an expression with externally injected variables via aVariableResolverFactory.static <T> Teval(String expression, VariableResolverFactory vars, Class<T> toType) Evaluates an expression against externally injected variables and, if necessary, coerces the resultant value to the specified type.static ObjectEvaluate a script from a file and return the resultant value.static ObjectEvaluate a script from a file, against a context object and return the resultant value.static ObjectEvaluate a script from a file with injected variables and a context object, then return the resultant value.static ObjectevalFile(File file, Object ctx, VariableResolverFactory vars) Evaluate a script from a file with injected variables and a context object, then return the resultant value.static Objectstatic Objectstatic Objectstatic ObjectevalFile(File file, String encoding, Object ctx, VariableResolverFactory vars) static ObjectEvaluate a script from a file with injected variables and return the resultant value.static BooleanevalToBoolean(String expression, Object ctx) Evaluate an expression in Boolean-only mode against a root context object.static BooleanEvaluate an expression in Boolean-only mode against a root context object and injected variables.static BooleanevalToBoolean(String expression, Object ctx, VariableResolverFactory vars) Evaluate an expression in Boolean-only mode against a root context object and injected variables.static BooleanevalToBoolean(String expression, Map<String, Object> vars) Evaluate an expression in Boolean-only with injected variables.static BooleanevalToBoolean(String expression, VariableResolverFactory vars) Evaluate an expression in Boolean-only with injected variables.static StringevalToString(String expression) Evaluates an expression and returns the resultant value as a String.static StringevalToString(String expression, Object ctx) Evaluates an expression and returns the resultant value as a String.static StringevalToString(String expression, Object ctx, Map vars) Evaluates an expression and returns the resultant value as a String.static StringevalToString(String expression, Object ctx, VariableResolverFactory vars) Evaluates an expression and returns the resultant value as a String.static StringevalToString(String expression, Map vars) Evaluates an expression and returns the resultant value as a String.static StringevalToString(String expression, VariableResolverFactory vars) Evaluates an expression and returns the resultant value as a String.static Object[]executeAllExpression(Serializable[] compiledExpressions, Object ctx, VariableResolverFactory vars) static ObjectexecuteDebugger(CompiledExpression expression, Object ctx, VariableResolverFactory vars) static voidexecuteExpression(Iterable<CompiledExpression> compiledExpression) static voidexecuteExpression(Iterable<CompiledExpression> compiledExpression, Object ctx) static voidexecuteExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, Map vars) static voidexecuteExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, VariableResolverFactory vars) static voidexecuteExpression(Iterable<CompiledExpression> compiledExpression, Map vars) static ObjectexecuteExpression(Object compiledExpression) static ObjectexecuteExpression(Object compiledExpression, Object ctx) Executes a compiled expression.static <T> TexecuteExpression(Object compiledExpression, Object ctx, Class<T> toType) Execute a compiled expression and convert the result to a type.static ObjectexecuteExpression(Object compiledExpression, Object ctx, Map vars) Executes a compiled expression.static <T> TexecuteExpression(Object compiledExpression, Object ctx, Map vars, Class<T> toType) Execute a compiled expression and convert the result to a typestatic ObjectexecuteExpression(Object compiledExpression, Object ctx, VariableResolverFactory resolverFactory) static <T> TexecuteExpression(Object compiledExpression, Object ctx, VariableResolverFactory vars, Class<T> toType) static ObjectexecuteExpression(Object compiledExpression, Map vars) Executes a compiled expression.static <T> TexecuteExpression(Object compiledExpression, Map vars, Class<T> toType) Execute a compiled expression and convert the result to a typestatic ObjectexecuteExpression(Object compiledExpression, VariableResolverFactory factory) Executes a compiled expression.static voidexecuteSetExpression(Serializable compiledSet, Object ctx, Object value) static voidexecuteSetExpression(Serializable compiledSet, Object ctx, VariableResolverFactory vrf, Object value) static Stringstatic ObjectgetProperty(String property, Object ctx) static MethodgetStaticMethod(Class cls, String methodName, Class[] signature) A simple utility method to get a static method from a class with no checked exception.static booleanstatic booleanstatic StringparseMacros(String input, Map<String, Macro> macros) static Stringpreprocess(char[] input, PreProcessor[] preprocessors) static Stringpreprocess(String input, PreProcessor[] preprocessors) static voidsetProperty(Object ctx, String property, Object value)
-
Field Details
-
NAME
- See Also:
-
VERSION
- See Also:
-
VERSION_SUB
- See Also:
-
CODENAME
- See Also:
-
INVOKED_METHOD_EXCEPTIONS_BUBBLE
public static boolean INVOKED_METHOD_EXCEPTIONS_BUBBLE -
COMPILER_OPT_ALLOW_NAKED_METH_CALL
public static boolean COMPILER_OPT_ALLOW_NAKED_METH_CALL -
COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING
public static boolean COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING -
COMPILER_OPT_ALLOW_RESOLVE_INNERCLASSES_WITH_DOTNOTATION
public static boolean COMPILER_OPT_ALLOW_RESOLVE_INNERCLASSES_WITH_DOTNOTATION -
COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS
public static boolean COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS -
COMPILER_OPT_ALLOCATE_TYPE_LITERALS_TO_SHARED_SYMBOL_TABLE
public static boolean COMPILER_OPT_ALLOCATE_TYPE_LITERALS_TO_SHARED_SYMBOL_TABLE -
RUNTIME_OPT_THREAD_UNSAFE
public static boolean RUNTIME_OPT_THREAD_UNSAFE
-
-
Method Details
-
isAdvancedDebugging
public static boolean isAdvancedDebugging() -
getDebuggingOutputFileName
-
isFileDebugging
public static boolean isFileDebugging() -
eval
-
eval
Evaluate an expression against a context object. Expressions evaluated against a context object are designed to treat members of that context object as variables in the expression. For example:
In this case, the identifier foo would be resolved against the ctx object. So it would have the equivalent of: ctc.getFoo() == 1 in Java.MVEL.eval("foo == 1", ctx);- Parameters:
expression- A String containing the expression to be evaluated.ctx- The context object to evaluate against.- Returns:
- The resultant value
-
eval
Evaluate an expression with externally injected variables via aVariableResolverFactory. A factory provides the means by which MVEL can resolve external variables. MVEL contains a straight-forward implementation for wrapping Maps:MapVariableResolverFactory, which is used implicitly when calling overloaded methods in this class that use Maps. An example:Map varsMap = new HashMap(); varsMap.put("x", 5); varsMap.put("y", 2); VariableResolverFactory factory = new MapVariableResolverFactory(varsMap); Integer i = (Integer) MVEL.eval("x * y", factory); assert i == 10;- Parameters:
expression- A String containing the expression to be evaluated.resolverFactory- The instance of the VariableResolverFactory to be used.- Returns:
- The resultant value.
-
eval
Evaluates an expression against a context object and injected variables from aVariableResolverFactory. This method of execution will prefer to find variables from the factory and then from the context.- Parameters:
expression- A string containing the expression to be evaluatedctx- The context object to evaluate against.resolverFactory- The instance of the VariableResolverFactory to be used.- Returns:
- The resultant value
- See Also:
-
eval
Evaluates an expression against externally injected variables. This is a wrapper convenience method which wraps the provided Map of vars in aMapVariableResolverFactory- Parameters:
expression- A string containing the expression to be evaluated.vars- A map of vars to be injected- Returns:
- The resultant value
- See Also:
-
eval
Evaluates an expression against a context object and externally injected variables. This is a wrapper convenience method which wraps the provided Map of vars in aMapVariableResolverFactory- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context object to evaluate against.vars- A map of vars to be injected- Returns:
- The resultant value
- See Also:
-
eval
Evaluates an expression and, if necessary, coerces the resultant value to the specified type. Example:
This converts an expression that would otherwise return an Integer to a Float.Float output = MVEL.eval("5 + 5", Float.class);- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluated.toType- The target type that the resultant value will be converted to, if necessary.- Returns:
- The resultant value.
-
eval
Evaluates an expression against a context object and, if necessary, coerces the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context object to evaluate against.toType- The target type that the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
Evaluates an expression against externally injected variables and, if necessary, coerces the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluatedvars- The variables to be injectedtoType- The target type that the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
Evaluates an expression against externally injected variables. The resultant value is coerced to the specified type if necessary. This is a wrapper convenience method which wraps the provided Map of vars in aMapVariableResolverFactory- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluated.vars- A map of vars to be injectedtoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
public static <T> T eval(String expression, Object ctx, VariableResolverFactory vars, Class<T> toType) Evaluates an expression against a context object and externally injected variables. If necessary, the resultant value is coerced to the specified type.- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context object to evaluate againstvars- The vars to be injectedtoType- The target type that the resultant value will be converted to, if necessary.- Returns:
- The resultant value.
- See Also:
-
eval
Evaluates an expression against a context object and externally injected variables. If necessary, the resultant value is coerced to the specified type.- Type Parameters:
T- type- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context object to evaluate againstvars- A Map of variables to be injected.toType- The target type that the resultant value will be converted to, if necessary.- Returns:
- The resultant value.
- See Also:
-
evalToString
-
evalToString
-
evalToString
Evaluates an expression and returns the resultant value as a String.- Parameters:
expression- A string containing the expressino to be evaluated.vars- The variables to be injected- Returns:
- The resultant value
- See Also:
-
evalToString
-
evalToString
Evaluates an expression and returns the resultant value as a String.- Parameters:
expression- A string containing the expressino to be evaluated.ctx- The context object to evaluate against.vars- The variables to be injected- Returns:
- The resultant value
- See Also:
-
evalToString
Evaluates an expression and returns the resultant value as a String.- Parameters:
expression- A string containing the expressino to be evaluated.ctx- The context object to evaluate against.vars- A Map of variables to be injected- Returns:
- The resultant value
- See Also:
-
eval
Evaluate an expression and return the value.- Parameters:
expression- A char[] containing the expression to be evaluated.- Returns:
- The resultant value
- See Also:
-
eval
-
eval
-
eval
Evaluate an expression against a context object and return the value- Parameters:
expression- A char[] containing the expression to be evaluated.ctx- The context object to evaluate againstvars- The variables to be injected- Returns:
- The resultant value
- See Also:
-
eval
public static Object eval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars) -
eval
public static <T> T eval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars, Class<T> toType) -
eval
Evaluate an expression against a context object and return the value- Parameters:
expression- A char[] containing the expression to be evaluated.ctx- The context object to evaluate againstvars- A Map of variables to be injected- Returns:
- The resultant value
- See Also:
-
eval
Evaluate an expression with a context object and injected variables and return the value. If necessary convert the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A char[] containing the expression to be evaluated.ctx- The context object to evaluate againstvars- A Map of variables to be injectedtoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
Evaluate an expression with a context object and return the value. If necessary convert the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A char[] containing the expression to be evaluated.ctx- The context object to evaluate againsttoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
public static <T> T eval(char[] expression, Object ctx, VariableResolverFactory vars, Class<T> toType) Evaluate an expression with a context object and injected variables and return the value. If necessary convert the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A char[] containing the expression to be evaluated.ctx- The context object to evaluate againstvars- The variables to be injectedtoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
Evaluate an expression with injected variables and return the value. If necessary convert the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A char[] containing the expression to be evaluated.vars- The variables to be injectedtoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
eval
Evaluate an expression with injected variables and return the resultant value. If necessary convert the resultant value to the specified type.- Type Parameters:
T- type- Parameters:
expression- A char[] containing the expression to be evaluated.vars- The variables to be injectedtoType- The target type the resultant value will be converted to, if necessary.- Returns:
- The resultant value
- See Also:
-
evalFile
Evaluate a script from a file and return the resultant value.- Parameters:
file- The file to process- Returns:
- The resultant value
- Throws:
IOException- Exception thrown if there is an IO problem accessing the file.
-
evalFile
- Throws:
IOException
-
evalFile
Evaluate a script from a file, against a context object and return the resultant value.- Parameters:
file- The file to processctx- The context to evaluate the script against.- Returns:
- The resultant value
- Throws:
IOException- Exception thrown if there is an IO problem accessing the file.
-
evalFile
- Throws:
IOException
-
evalFile
Evaluate a script from a file with injected variables and return the resultant value.- Parameters:
file- The file to processvars- Variables to be injected- Returns:
- The resultant value
- Throws:
IOException- Exception thrown if there is an IO problem accessing the file.
-
evalFile
Evaluate a script from a file with injected variables and a context object, then return the resultant value.- Parameters:
file- The file to processctx- The context to evaluate the script against.vars- Variables to be injected- Returns:
- The resultant value
- Throws:
IOException- Exception thrown if there is an IO problem accessing the file.
-
evalFile
public static Object evalFile(File file, String encoding, Object ctx, Map<String, Object> vars) throws IOException- Throws:
IOException
-
evalFile
public static Object evalFile(File file, Object ctx, VariableResolverFactory vars) throws IOException Evaluate a script from a file with injected variables and a context object, then return the resultant value.- Parameters:
file- The file to processctx- The context to evaluate the script against.vars- Variables to be injected- Returns:
- The resultant value
- Throws:
IOException- Exception thrown if there is an IO problem accessing the file.
-
evalFile
public static Object evalFile(File file, String encoding, Object ctx, VariableResolverFactory vars) throws IOException - Throws:
IOException
-
evalToBoolean
Evaluate an expression in Boolean-only mode against a root context object and injected variables.- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context against which to evaluate the expressionvars- The variables to be injected- Returns:
- The resultant value as a Boolean
-
evalToBoolean
Evaluate an expression in Boolean-only mode against a root context object.- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context against which to evaluate the expression- Returns:
- The resultant value as a Boolean
-
evalToBoolean
Evaluate an expression in Boolean-only mode against a root context object and injected variables.- Parameters:
expression- A string containing the expression to be evaluated.ctx- The context against which to evaluate the expressionvars- The variables to be injected- Returns:
- The resultant value as a Boolean
-
evalToBoolean
Evaluate an expression in Boolean-only with injected variables.- Parameters:
expression- A string containing the expression to be evaluated.vars- The variables to be injected- Returns:
- The resultant value as a Boolean
-
evalToBoolean
-
analysisCompile
Performs an analysis compileShared, which will populate the ParserContext with type, input and variable information, but will not produce a payload.- Parameters:
expression- - the expression to analyzectx- - the parser context
-
analysisCompile
-
analyze
-
analyze
-
compileExpression
Compiles an expression and returns a Serializable object containing the compiled expression. The returned value can be reused for higher-performance evaluation of the expression. It is used in a straight forward way:
The above example demonstrates a compiled expression being reused ina tight, closed, loop. Doing this greatly improves performance as re-parsing of the expression is not required, and the runtime can dynamically compileShared the expression to bytecode of necessary.// Compile the expression Serializable compiled = MVEL.compileExpression("x * 10"); // Create a Map to hold the variables. Map vars = new HashMap(); // Create a factory to envelop the variable map VariableResolverFactory factory = new MapVariableResolverFactory(vars); int total = 0; for (int i = 0; i < 100; i++) { // Update the 'x' variable. vars.put("x", i); // Execute the expression against the compiled payload and factory, and add the result to the total variable. total += (Integer) MVEL.executeExpression(compiled, factory); } // Total should be 49500 assert total == 49500;- Parameters:
expression- A String contaiing the expression to be compiled.- Returns:
- The cacheable compiled payload.
-
compileExpression
Compiles an expression and returns a Serializable object containing the compiled expression. This method also accept a Map of imports. The Map's keys are String's representing the imported, short-form name of the Classes or Methods imported. An import of a Method is essentially a static import. This is a substitute for needing to declare import statements within the actual script.Map imports = new HashMap(); imports.put("HashMap", java.util.HashMap.class); // import a class imports.put("time", MVEL.getStaticMethod(System.class, "currentTimeMillis", new Class[0])); // import a static method // Compile the expression Serializable compiled = MVEL.compileExpression("map = new HashMap(); map.put('time', time()); map.time"); // Execute with a blank Map to allow vars to be declared. Long val = (Long) MVEL.executeExpression(compiled, new HashMap()); assert val > 0;- Parameters:
expression- A String contaiing the expression to be compiled.imports- A String-Class/String-Method pair Map containing imports for the compiler.- Returns:
- The cacheable compiled payload.
-
compileExpression
public static Serializable compileExpression(String expression, Map<String, Object> imports, Map<String, Interceptor> interceptors) Compiles an expression and returns a Serializable object containing the compiled expression. This method accepts a Map of imports and Interceptors. SeecompileExpression(String, Map)for information on imports. The imports parameter in this method is optional and it is safe to pass a null value.Interceptorsare markers within an expression that allow external hooks to be tied into the expression.
The above example demonstrates inserting an interceptor into a piece of code. The @log interceptor wraps the subsequent statement. In this case, the interceptor is fired before the for loop and after the for loop finishes.// Create a Map to hold the interceptors. Map interceptors = new HashMap(); // Create a simple interceptor. Interceptor logInterceptor = new Interceptor() { public int doBefore(ASTNode node, VariableResolverFactory factory) { System.out.println("Interceptor called before!"); } public int doAfter(Object exitValue, ASTNode node, VariableResolverFactory factory) { System.out.println("Interceptor called after!"); } }; // Add the interceptor to the Map. interceptors.put("log", logInterceptor); // Create an expression String expr = "list = [1,2,3,4,5]; @log for (item : list) { System.out.println(item); }; Serializable compiled = MVEL.compileExpression(expr, null, interceptors); // Execute expression with a blank Map to allow vars to be declared. MVEL.executeExpression(compiled, new HashMap());- Parameters:
expression- A String containing the expression to be evaluated.imports- A String-Class/String-Method pair Map containing imports for the compiler.interceptors- A Map of registered interceptors.- Returns:
- A cacheable compiled payload.
-
compileExpression
Compiles an expression, and accepts aParserContextinstance. The ParserContext object is the fine-grained configuration object for the MVEL parser and compiler.- Parameters:
expression- A string containing the expression to be compiled.ctx- The parser context- Returns:
- A cacheable compiled payload.
-
compileExpression
public static Serializable compileExpression(char[] expression, int start, int offset, ParserContext ctx) -
compileExpression
public static Serializable compileExpression(String expression, Map<String, Object> imports, Map<String, Interceptor> interceptors, String sourceName) -
compileExpression
-
compileExpression
public static Serializable compileExpression(char[] expression, Map<String, Object> imports, Map<String, Interceptor> interceptors, String sourceName) Compiles an expression and returns a Serializable object containing the compiled expression.- Parameters:
expression- The expression to be compiledimports- Imported classesinterceptors- Map of named interceptossourceName- The name of the source file being evaluated (optional)- Returns:
- The cacheable compiled payload
-
compileExpression
-
compileExpression
-
compileExpression
public static Serializable compileExpression(char[] expression, Map<String, Object> imports, Map<String, Interceptor> interceptors) -
compileGetExpression
-
compileGetExpression
-
compileGetExpression
-
compileGetExpression
-
compileSetExpression
-
compileSetExpression
-
compileSetExpression
public static Serializable compileSetExpression(String expression, Class ingressType, ParserContext ctx) -
compileSetExpression
-
compileSetExpression
-
compileSetExpression
public static Serializable compileSetExpression(char[] expression, int start, int offset, ParserContext ctx) -
compileSetExpression
public static Serializable compileSetExpression(char[] expression, Class ingressType, ParserContext ctx) -
executeSetExpression
-
executeSetExpression
public static void executeSetExpression(Serializable compiledSet, Object ctx, VariableResolverFactory vrf, Object value) -
executeExpression
-
executeExpression
-
executeExpression
public static Object executeExpression(Object compiledExpression, Object ctx, VariableResolverFactory resolverFactory) -
executeExpression
Executes a compiled expression.- Parameters:
compiledExpression- -factory- -- Returns:
- -
- See Also:
-
executeExpression
-
executeExpression
-
executeExpression
-
executeExpression
public static <T> T executeExpression(Object compiledExpression, Object ctx, VariableResolverFactory vars, Class<T> toType) -
executeExpression
-
executeExpression
-
executeExpression
-
executeExpression
-
executeExpression
-
executeExpression
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, Map vars) -
executeExpression
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, VariableResolverFactory vars) -
executeAllExpression
public static Object[] executeAllExpression(Serializable[] compiledExpressions, Object ctx, VariableResolverFactory vars) -
executeDebugger
public static Object executeDebugger(CompiledExpression expression, Object ctx, VariableResolverFactory vars) -
parseMacros
-
preprocess
-
preprocess
-
getProperty
-
setProperty
-
getStaticMethod
A simple utility method to get a static method from a class with no checked exception. With throw a RuntimeException if the method is not found or is not a static method.- Parameters:
cls- The class containing the static methodmethodName- The method namesignature- The signature of the method- Returns:
- An instance of the Method
-