org.mvel.optimizers.impl.refl
Class ReflectiveAccessorOptimizer
java.lang.Object
org.mvel.AbstractParser
org.mvel.optimizers.AbstractOptimizer
org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer
- All Implemented Interfaces:
- java.io.Serializable, AccessorOptimizer
public class ReflectiveAccessorOptimizer
- extends AbstractOptimizer
- implements AccessorOptimizer
- See Also:
- Serialized Form
Fields inherited from class org.mvel.AbstractParser |
cursor, debugSymbols, expr, fields, GET, GET_OR_CREATE, greedy, lastNode, lastWasComment, lastWasIdentifier, lastWasLineLabel, length, LEVEL_0_PROPERTY_ONLY, LEVEL_1_BASIC_LANG, LEVEL_2_MULTI_STATEMENT, LEVEL_3_ITERATION, LEVEL_4_ASSIGNMENT, LEVEL_5_CONTROL_FLOW, literalOnly, LITERALS, OPERATORS, parserContext, REMOVE, SET, splitAccumulator, stk |
Method Summary |
AccessorNode |
compileConstructor(char[] expression,
java.lang.Object ctx,
VariableResolverFactory vars)
|
static java.lang.Object |
get(java.lang.String expression,
java.lang.Object ctx)
|
java.lang.Class |
getEgressType()
|
java.lang.Object |
getResultOptPass()
|
java.lang.Object |
getValue(java.lang.Object ctx,
java.lang.Object elCtx,
VariableResolverFactory variableFactory)
|
boolean |
isLiteralOnly()
|
static void |
main(java.lang.String[] args)
|
Accessor |
optimizeAccessor(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean root)
|
Accessor |
optimizeCollection(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
|
Accessor |
optimizeFold(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
|
Accessor |
optimizeObjectCreation(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
|
SetAccessor |
optimizeSetAccessor(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean rootThisRef,
java.lang.Object value)
|
Methods inherited from class org.mvel.AbstractParser |
addFatalError, addFatalError, addWarning, blockContinues, captureToEOLorOF, captureToEOS, captureToEOT, captureTokenToEOS, contextControl, getCurrentSourceFileName, getCurrentThreadParserContext, getParserContext, handleSubstatement, handleUnion, isAt, isDebugSymbols, isNext, isRemain, isReservedWord, isStatementManuallyTerminated, lookAhead, lookAhead, lookBehind, lookBehind, newContext, newContext, nextToken, nextTokenSkipSymbols, removeContext, resetParserContext, setDebugSymbols, setExpression, setExpression, setLanguageLevel, skipToNextTokenJunction, skipWhitespace, skipWhitespaceWithLineAccounting, tokenContinues, trimLeft, trimRight, trimWhitespace |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReflectiveAccessorOptimizer
public ReflectiveAccessorOptimizer()
get
public static java.lang.Object get(java.lang.String expression,
java.lang.Object ctx)
optimizeAccessor
public Accessor optimizeAccessor(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean root)
- Specified by:
optimizeAccessor
in interface AccessorOptimizer
optimizeSetAccessor
public SetAccessor optimizeSetAccessor(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory,
boolean rootThisRef,
java.lang.Object value)
- Specified by:
optimizeSetAccessor
in interface AccessorOptimizer
getValue
public java.lang.Object getValue(java.lang.Object ctx,
java.lang.Object elCtx,
VariableResolverFactory variableFactory)
throws java.lang.Exception
- Throws:
java.lang.Exception
main
public static void main(java.lang.String[] args)
optimizeCollection
public Accessor optimizeCollection(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
- Specified by:
optimizeCollection
in interface AccessorOptimizer
optimizeObjectCreation
public Accessor optimizeObjectCreation(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
- Specified by:
optimizeObjectCreation
in interface AccessorOptimizer
optimizeFold
public Accessor optimizeFold(char[] property,
java.lang.Object ctx,
java.lang.Object thisRef,
VariableResolverFactory factory)
- Specified by:
optimizeFold
in interface AccessorOptimizer
getResultOptPass
public java.lang.Object getResultOptPass()
- Specified by:
getResultOptPass
in interface AccessorOptimizer
compileConstructor
public AccessorNode compileConstructor(char[] expression,
java.lang.Object ctx,
VariableResolverFactory vars)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.ClassNotFoundException,
java.lang.NoSuchMethodException
- Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException
getEgressType
public java.lang.Class getEgressType()
- Specified by:
getEgressType
in interface AccessorOptimizer
isLiteralOnly
public boolean isLiteralOnly()
- Specified by:
isLiteralOnly
in interface AccessorOptimizer