public class MVEL extends Object
Modifier and Type | Field and Description |
---|---|
static String |
CODENAME |
static boolean |
COMPILER_OPT_ALLOCATE_TYPE_LITERALS_TO_SHARED_SYMBOL_TABLE |
static boolean |
COMPILER_OPT_ALLOW_NAKED_METH_CALL |
static boolean |
COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING |
static boolean |
COMPILER_OPT_ALLOW_RESOLVE_INNERCLASSES_WITH_DOTNOTATION |
static boolean |
COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS |
static boolean |
INVOKED_METHOD_EXCEPTIONS_BUBBLE |
static String |
NAME |
static String |
VERSION |
static String |
VERSION_SUB |
Modifier and Type | Method and Description |
---|---|
static void |
analysisCompile(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 void |
analysisCompile(String expression,
ParserContext ctx) |
static Class |
analyze(char[] expression,
ParserContext ctx) |
static Class |
analyze(String expression,
ParserContext ctx) |
static Serializable |
compileExpression(char[] expression) |
static Serializable |
compileExpression(char[] expression,
int start,
int offset,
ParserContext ctx) |
static Serializable |
compileExpression(char[] expression,
Map<String,Object> imports) |
static Serializable |
compileExpression(char[] expression,
Map<String,Object> imports,
Map<String,Interceptor> interceptors) |
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.
|
static Serializable |
compileExpression(char[] expression,
ParserContext ctx) |
static Serializable |
compileExpression(String expression)
Compiles an expression and returns a Serializable object containing the compiled expression.
|
static Serializable |
compileExpression(String expression,
Map<String,Object> imports)
Compiles an expression and returns a Serializable object containing the compiled expression.
|
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.
|
static Serializable |
compileExpression(String expression,
Map<String,Object> imports,
Map<String,Interceptor> interceptors,
String sourceName) |
static Serializable |
compileExpression(String expression,
ParserContext ctx)
Compiles an expression, and accepts a
ParserContext instance. |
static Serializable |
compileGetExpression(char[] expression) |
static Serializable |
compileGetExpression(char[] expression,
ParserContext ctx) |
static Serializable |
compileGetExpression(String expression) |
static Serializable |
compileGetExpression(String expression,
ParserContext ctx) |
static Serializable |
compileSetExpression(char[] expression) |
static Serializable |
compileSetExpression(char[] expression,
Class ingressType,
ParserContext ctx) |
static Serializable |
compileSetExpression(char[] expression,
int start,
int offset,
ParserContext ctx) |
static Serializable |
compileSetExpression(char[] expression,
ParserContext ctx) |
static Serializable |
compileSetExpression(String expression) |
static Serializable |
compileSetExpression(String expression,
Class ingressType,
ParserContext ctx) |
static Serializable |
compileSetExpression(String expression,
ParserContext ctx) |
static Object |
eval(char[] expression)
Evaluate an expression and return the value.
|
static <T> T |
eval(char[] expression,
Class<T> type) |
static Object |
eval(char[] expression,
int start,
int offset,
Object ctx,
VariableResolverFactory vars) |
static <T> T |
eval(char[] expression,
int start,
int offset,
Object ctx,
VariableResolverFactory vars,
Class<T> toType) |
static <T> T |
eval(char[] expression,
Map<String,Object> vars,
Class<T> toType)
Evaluate an expression with injected variables and return the resultant value.
|
static Object |
eval(char[] expression,
Object ctx)
Evaluate an expression against a context object and return the value
|
static <T> T |
eval(char[] expression,
Object ctx,
Class<T> toType)
Evaluate an expression with a context object and return the value.
|
static Object |
eval(char[] expression,
Object ctx,
Map vars)
Evaluate an expression against a context object and return the value
|
static <T> T |
eval(char[] expression,
Object ctx,
Map<String,Object> vars,
Class<T> toType)
Evaluate an expression with a context object and injected variables and return the value.
|
static Object |
eval(char[] expression,
Object ctx,
VariableResolverFactory vars)
Evaluate an expression against a context object and return the value
|
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.
|
static <T> T |
eval(char[] expression,
VariableResolverFactory vars,
Class<T> toType)
Evaluate an expression with injected variables and return the value.
|
static Object |
eval(String expression)
Evaluate an expression and return the value.
|
static <T> T |
eval(String expression,
Class<T> toType)
Evaluates an expression and, if necessary, coerces the resultant value to the specified type.
|
static Object |
eval(String expression,
Map<String,Object> vars)
Evaluates an expression against externally injected variables.
|
static <T> T |
eval(String expression,
Map<String,Object> vars,
Class<T> toType)
Evaluates an expression against externally injected variables.
|
static Object |
eval(String expression,
Object ctx)
Evaluate an expression against a context object.
|
static <T> T |
eval(String expression,
Object ctx,
Class<T> toType)
Evaluates an expression against a context object and, if necessary, coerces the resultant value to the specified
type.
|
static Object |
eval(String expression,
Object ctx,
Map<String,Object> vars)
Evaluates an expression against a context object and externally injected variables.
|
static <T> T |
eval(String expression,
Object ctx,
Map<String,Object> vars,
Class<T> toType)
Evaluates an expression against a context object and externally injected variables.
|
static Object |
eval(String expression,
Object ctx,
VariableResolverFactory resolverFactory)
Evaluates an expression against a context object and injected variables from a
VariableResolverFactory . |
static <T> T |
eval(String expression,
Object ctx,
VariableResolverFactory vars,
Class<T> toType)
Evaluates an expression against a context object and externally injected variables.
|
static Object |
eval(String expression,
VariableResolverFactory resolverFactory)
Evaluate an expression with externally injected variables via a
VariableResolverFactory . |
static <T> T |
eval(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 Object |
evalFile(File file)
Evaluate a script from a file and return the resultant value.
|
static Object |
evalFile(File file,
Map<String,Object> vars)
Evaluate a script from a file with injected variables and return the resultant value.
|
static Object |
evalFile(File file,
Object ctx)
Evaluate a script from a file, against a context object and return the resultant value.
|
static Object |
evalFile(File file,
Object ctx,
Map<String,Object> vars)
Evaluate a script from a file with injected variables and a context object, then return the resultant value.
|
static Object |
evalFile(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 Object |
evalFile(File file,
String encoding) |
static Object |
evalFile(File file,
String encoding,
Object ctx) |
static Object |
evalFile(File file,
String encoding,
Object ctx,
Map<String,Object> vars) |
static Object |
evalFile(File file,
String encoding,
Object ctx,
VariableResolverFactory vars) |
static Boolean |
evalToBoolean(String expression,
Map<String,Object> vars)
Evaluate an expression in Boolean-only with injected variables.
|
static Boolean |
evalToBoolean(String expression,
Object ctx)
Evaluate an expression in Boolean-only mode against a root context object.
|
static Boolean |
evalToBoolean(String expression,
Object ctx,
Map<String,Object> vars)
Evaluate an expression in Boolean-only mode against a root context object and injected variables.
|
static Boolean |
evalToBoolean(String expression,
Object ctx,
VariableResolverFactory vars)
Evaluate an expression in Boolean-only mode against a root context object and injected variables.
|
static Boolean |
evalToBoolean(String expression,
VariableResolverFactory vars)
Evaluate an expression in Boolean-only with injected variables.
|
static String |
evalToString(String expression)
Evaluates an expression and returns the resultant value as a String.
|
static String |
evalToString(String expression,
Map vars)
Evaluates an expression and returns the resultant value as a String.
|
static String |
evalToString(String expression,
Object ctx)
Evaluates an expression and returns the resultant value as a String.
|
static String |
evalToString(String expression,
Object ctx,
Map vars)
Evaluates an expression and returns the resultant value as a String.
|
static String |
evalToString(String expression,
Object ctx,
VariableResolverFactory vars)
Evaluates an expression and returns the resultant value as a String.
|
static String |
evalToString(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 Object |
executeDebugger(CompiledExpression expression,
Object ctx,
VariableResolverFactory vars) |
static void |
executeExpression(Iterable<CompiledExpression> compiledExpression) |
static void |
executeExpression(Iterable<CompiledExpression> compiledExpression,
Map vars) |
static void |
executeExpression(Iterable<CompiledExpression> compiledExpression,
Object ctx) |
static void |
executeExpression(Iterable<CompiledExpression> compiledExpression,
Object ctx,
Map vars) |
static void |
executeExpression(Iterable<CompiledExpression> compiledExpression,
Object ctx,
VariableResolverFactory vars) |
static Object |
executeExpression(Object compiledExpression) |
static Object |
executeExpression(Object compiledExpression,
Map vars)
Executes a compiled expression.
|
static <T> T |
executeExpression(Object compiledExpression,
Map vars,
Class<T> toType)
Execute a compiled expression and convert the result to a type
|
static Object |
executeExpression(Object compiledExpression,
Object ctx)
Executes a compiled expression.
|
static <T> T |
executeExpression(Object compiledExpression,
Object ctx,
Class<T> toType)
Execute a compiled expression and convert the result to a type.
|
static Object |
executeExpression(Object compiledExpression,
Object ctx,
Map vars)
Executes a compiled expression.
|
static <T> T |
executeExpression(Object compiledExpression,
Object ctx,
Map vars,
Class<T> toType)
Execute a compiled expression and convert the result to a type
|
static Object |
executeExpression(Object compiledExpression,
Object ctx,
VariableResolverFactory resolverFactory) |
static <T> T |
executeExpression(Object compiledExpression,
Object ctx,
VariableResolverFactory vars,
Class<T> toType) |
static Object |
executeExpression(Object compiledExpression,
VariableResolverFactory factory)
Executes a compiled expression.
|
static void |
executeSetExpression(Serializable compiledSet,
Object ctx,
Object value) |
static void |
executeSetExpression(Serializable compiledSet,
Object ctx,
VariableResolverFactory vrf,
Object value) |
static String |
getDebuggingOutputFileName() |
static Object |
getProperty(String property,
Object ctx) |
static Method |
getStaticMethod(Class cls,
String methodName,
Class[] signature)
A simple utility method to get a static method from a class with no checked exception.
|
static boolean |
isAdvancedDebugging() |
static boolean |
isFileDebugging() |
static String |
parseMacros(String input,
Map<String,Macro> macros) |
static String |
preprocess(char[] input,
PreProcessor[] preprocessors) |
static String |
preprocess(String input,
PreProcessor[] preprocessors) |
static void |
setProperty(Object ctx,
String property,
Object value) |
public static final String NAME
public static final String VERSION
public static final String VERSION_SUB
public static final String CODENAME
public static boolean INVOKED_METHOD_EXCEPTIONS_BUBBLE
public static boolean COMPILER_OPT_ALLOW_NAKED_METH_CALL
public static boolean COMPILER_OPT_ALLOW_OVERRIDE_ALL_PROPHANDLING
public static boolean COMPILER_OPT_ALLOW_RESOLVE_INNERCLASSES_WITH_DOTNOTATION
public static boolean COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS
public static boolean COMPILER_OPT_ALLOCATE_TYPE_LITERALS_TO_SHARED_SYMBOL_TABLE
public static boolean isAdvancedDebugging()
public static String getDebuggingOutputFileName()
public static boolean isFileDebugging()
public static Object eval(String expression)
expression
- A String containing the expression to be evaluated.public static Object eval(String expression, Object ctx)
MVEL.eval("foo == 1", ctx);
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.expression
- A String containing the expression to be evaluated.ctx
- The context object to evaluate against.public static Object eval(String expression, VariableResolverFactory resolverFactory)
VariableResolverFactory
. 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;
expression
- A String containing the expression to be evaluated.resolverFactory
- The instance of the VariableResolverFactory to be used.public static Object eval(String expression, Object ctx, VariableResolverFactory resolverFactory)
VariableResolverFactory
.
This method of execution will prefer to find variables from the factory and then from the context.expression
- A string containing the expression to be evaluatedctx
- The context object to evaluate against.resolverFactory
- The instance of the VariableResolverFactory to be used.eval(String, org.mvel2.integration.VariableResolverFactory)
public static Object eval(String expression, Map<String,Object> vars)
MapVariableResolverFactory
expression
- A string containing the expression to be evaluated.vars
- A map of vars to be injectedeval(String, org.mvel2.integration.VariableResolverFactory)
public static Object eval(String expression, Object ctx, Map<String,Object> vars)
MapVariableResolverFactory
expression
- A string containing the expression to be evaluated.ctx
- The context object to evaluate against.vars
- A map of vars to be injectedeval(String, VariableResolverFactory)
public static <T> T eval(String expression, Class<T> toType)
Float output = MVEL.eval("5 + 5", Float.class);
This converts an expression that would otherwise return an Integer to a Float.expression
- A string containing the expression to be evaluated.toType
- The target type that the resultant value will be converted to, if necessary.public static <T> T eval(String expression, Object ctx, Class<T> toType)
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.eval(String, Class)
public static <T> T eval(String expression, VariableResolverFactory vars, Class<T> toType)
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.eval(String, VariableResolverFactory)
,
eval(String, Class)
public static <T> T eval(String expression, Map<String,Object> vars, Class<T> toType)
MapVariableResolverFactory
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.eval(String, org.mvel2.integration.VariableResolverFactory)
public static <T> T eval(String expression, Object ctx, VariableResolverFactory vars, Class<T> toType)
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.eval(String, Object, VariableResolverFactory)
,
eval(String, Class)
public static <T> T eval(String expression, Object ctx, Map<String,Object> vars, Class<T> toType)
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.eval(String, Object, VariableResolverFactory)
,
eval(String, Class)
public static String evalToString(String expression)
expression
- A string containing the expressino to be evaluated.public static String evalToString(String expression, Object ctx)
expression
- A string containing the expressino to be evaluated.ctx
- The context object to evaluate againsteval(String, Object)
public static String evalToString(String expression, VariableResolverFactory vars)
expression
- A string containing the expressino to be evaluated.vars
- The variables to be injectedeval(String, VariableResolverFactory)
public static String evalToString(String expression, Map vars)
expression
- A string containing the expressino to be evaluated.vars
- A Map of variables to be injectedeval(String, Map)
public static String evalToString(String expression, Object ctx, VariableResolverFactory vars)
expression
- A string containing the expressino to be evaluated.ctx
- The context object to evaluate against.vars
- The variables to be injectedeval(String, Map)
public static String evalToString(String expression, Object ctx, Map vars)
expression
- A string containing the expressino to be evaluated.ctx
- The context object to evaluate against.vars
- A Map of variables to be injectedeval(String, Map)
public static Object eval(char[] expression)
expression
- A char[] containing the expression to be evaluated.eval(String)
public static Object eval(char[] expression, Object ctx)
expression
- A char[] containing the expression to be evaluated.ctx
- The context object to evaluate againsteval(String, Object)
public static <T> T eval(char[] expression, Class<T> type)
public static Object eval(char[] expression, Object ctx, VariableResolverFactory vars)
expression
- A char[] containing the expression to be evaluated.ctx
- The context object to evaluate againstvars
- The variables to be injectedeval(String, Object, VariableResolverFactory)
public static Object eval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars)
public static <T> T eval(char[] expression, int start, int offset, Object ctx, VariableResolverFactory vars, Class<T> toType)
public static Object eval(char[] expression, Object ctx, Map vars)
expression
- A char[] containing the expression to be evaluated.ctx
- The context object to evaluate againstvars
- A Map of variables to be injectedeval(String, Object, Map)
public static <T> T eval(char[] expression, Object ctx, Map<String,Object> vars, Class<T> toType)
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.eval(String, Object, Map, Class)
public static <T> T eval(char[] expression, Object ctx, Class<T> toType)
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.eval(String, Object, Class)
public static <T> T eval(char[] expression, Object ctx, VariableResolverFactory vars, Class<T> toType)
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.eval(String, Object, VariableResolverFactory, Class)
public static <T> T eval(char[] expression, VariableResolverFactory vars, Class<T> toType)
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.eval(String, VariableResolverFactory, Class)
public static <T> T eval(char[] expression, Map<String,Object> vars, Class<T> toType)
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.eval(String, Map, Class)
public static Object evalFile(File file) throws IOException
file
- The file to processIOException
- Exception thrown if there is an IO problem accessing the file.public static Object evalFile(File file, String encoding) throws IOException
IOException
public static Object evalFile(File file, Object ctx) throws IOException
file
- The file to processctx
- The context to evaluate the script against.IOException
- Exception thrown if there is an IO problem accessing the file.public static Object evalFile(File file, String encoding, Object ctx) throws IOException
IOException
public static Object evalFile(File file, Map<String,Object> vars) throws IOException
file
- The file to processvars
- Variables to be injectedIOException
- Exception thrown if there is an IO problem accessing the file.public static Object evalFile(File file, Object ctx, Map<String,Object> vars) throws IOException
file
- The file to processctx
- The context to evaluate the script against.vars
- Variables to be injectedIOException
- Exception thrown if there is an IO problem accessing the file.public static Object evalFile(File file, String encoding, Object ctx, Map<String,Object> vars) throws IOException
IOException
public static Object evalFile(File file, Object ctx, VariableResolverFactory vars) throws IOException
file
- The file to processctx
- The context to evaluate the script against.vars
- Variables to be injectedIOException
- Exception thrown if there is an IO problem accessing the file.public static Object evalFile(File file, String encoding, Object ctx, VariableResolverFactory vars) throws IOException
IOException
public static Boolean evalToBoolean(String expression, Object ctx, Map<String,Object> vars)
expression
- A string containing the expression to be evaluated.ctx
- The context against which to evaluate the expressionvars
- The variables to be injectedpublic static Boolean evalToBoolean(String expression, Object ctx)
expression
- A string containing the expression to be evaluated.ctx
- The context against which to evaluate the expressionpublic static Boolean evalToBoolean(String expression, Object ctx, VariableResolverFactory vars)
expression
- A string containing the expression to be evaluated.ctx
- The context against which to evaluate the expressionvars
- The variables to be injectedpublic static Boolean evalToBoolean(String expression, VariableResolverFactory vars)
expression
- A string containing the expression to be evaluated.vars
- The variables to be injectedpublic static Boolean evalToBoolean(String expression, Map<String,Object> vars)
expression
- A string containing the expression to be evaluated.vars
- The variables to be injectedpublic static void analysisCompile(char[] expression, ParserContext ctx)
expression
- - the expression to analyzectx
- - the parser contextpublic static void analysisCompile(String expression, ParserContext ctx)
public static Class analyze(char[] expression, ParserContext ctx)
public static Class analyze(String expression, ParserContext ctx)
public static Serializable compileExpression(String expression)
// 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;
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.expression
- A String contaiing the expression to be compiled.public static Serializable compileExpression(String expression, Map<String,Object> imports)
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;
expression
- A String contaiing the expression to be compiled.imports
- A String-Class/String-Method pair Map containing imports for the compiler.public static Serializable compileExpression(String expression, Map<String,Object> imports, Map<String,Interceptor> interceptors)
compileExpression(String, Map)
for information on
imports. The imports parameter in this method is optional and it is safe to pass a null
value.Interceptors
are markers within an expression that allow external hooks
to be tied into the expression.
// 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());
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.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.public static Serializable compileExpression(String expression, ParserContext ctx)
ParserContext
instance. The ParserContext object is the
fine-grained configuration object for the MVEL parser and compiler.expression
- A string containing the expression to be compiled.ctx
- The parser contextpublic static Serializable compileExpression(char[] expression, int start, int offset, ParserContext ctx)
public static Serializable compileExpression(String expression, Map<String,Object> imports, Map<String,Interceptor> interceptors, String sourceName)
public static Serializable compileExpression(char[] expression, ParserContext ctx)
public static Serializable compileExpression(char[] expression, Map<String,Object> imports, Map<String,Interceptor> interceptors, String sourceName)
expression
- The expression to be compiledimports
- Imported classesinterceptors
- Map of named interceptossourceName
- The name of the source file being evaluated (optional)public static Serializable compileExpression(char[] expression)
public static Serializable compileExpression(char[] expression, Map<String,Object> imports)
public static Serializable compileExpression(char[] expression, Map<String,Object> imports, Map<String,Interceptor> interceptors)
public static Serializable compileGetExpression(String expression)
public static Serializable compileGetExpression(String expression, ParserContext ctx)
public static Serializable compileGetExpression(char[] expression)
public static Serializable compileGetExpression(char[] expression, ParserContext ctx)
public static Serializable compileSetExpression(String expression)
public static Serializable compileSetExpression(String expression, ParserContext ctx)
public static Serializable compileSetExpression(String expression, Class ingressType, ParserContext ctx)
public static Serializable compileSetExpression(char[] expression)
public static Serializable compileSetExpression(char[] expression, ParserContext ctx)
public static Serializable compileSetExpression(char[] expression, int start, int offset, ParserContext ctx)
public static Serializable compileSetExpression(char[] expression, Class ingressType, ParserContext ctx)
public static void executeSetExpression(Serializable compiledSet, Object ctx, Object value)
public static void executeSetExpression(Serializable compiledSet, Object ctx, VariableResolverFactory vrf, Object value)
public static Object executeExpression(Object compiledExpression, Object ctx, Map vars)
compiledExpression
- -ctx
- -vars
- -compileExpression(String)
public static Object executeExpression(Object compiledExpression, Object ctx, VariableResolverFactory resolverFactory)
public static Object executeExpression(Object compiledExpression, VariableResolverFactory factory)
compiledExpression
- -factory
- -compileExpression(String)
public static Object executeExpression(Object compiledExpression, Object ctx)
compiledExpression
- -ctx
- -compileExpression(String)
public static Object executeExpression(Object compiledExpression, Map vars)
compiledExpression
- -vars
- -compileExpression(String)
public static <T> T executeExpression(Object compiledExpression, Object ctx, Map vars, Class<T> toType)
compiledExpression
- -ctx
- -vars
- -toType
- -public static <T> T executeExpression(Object compiledExpression, Object ctx, VariableResolverFactory vars, Class<T> toType)
public static <T> T executeExpression(Object compiledExpression, Map vars, Class<T> toType)
compiledExpression
- -vars
- -toType
- -public static <T> T executeExpression(Object compiledExpression, Object ctx, Class<T> toType)
compiledExpression
- -ctx
- -toType
- -public static void executeExpression(Iterable<CompiledExpression> compiledExpression)
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Object ctx)
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Map vars)
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, Map vars)
public static void executeExpression(Iterable<CompiledExpression> compiledExpression, Object ctx, VariableResolverFactory vars)
public static Object[] executeAllExpression(Serializable[] compiledExpressions, Object ctx, VariableResolverFactory vars)
public static Object executeDebugger(CompiledExpression expression, Object ctx, VariableResolverFactory vars)
public static String preprocess(char[] input, PreProcessor[] preprocessors)
public static String preprocess(String input, PreProcessor[] preprocessors)
public static Method getStaticMethod(Class cls, String methodName, Class[] signature)
cls
- The class containing the static methodmethodName
- The method namesignature
- The signature of the methodCopyright © 2013. All rights reserved.