org.mvel2.compiler
Class PropertyVerifier

java.lang.Object
  extended by org.mvel2.compiler.AbstractParser
      extended by org.mvel2.optimizers.AbstractOptimizer
          extended by org.mvel2.compiler.PropertyVerifier
All Implemented Interfaces:
Serializable

public class PropertyVerifier
extends AbstractOptimizer

This verifier is used by the compiler to enforce rules such as type strictness. It is, as side-effect, also responsible for extracting type information.

Author:
Mike Brock, Dhanji Prasanna
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.mvel2.optimizers.AbstractOptimizer
BEAN, collection, currType, nullSafe, start
 
Fields inherited from class org.mvel2.compiler.AbstractParser
compileMode, cursor, debugSymbols, dStack, expr, fields, GET, GET_OR_CREATE, greedy, lastLineStart, 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, line, literalOnly, LITERALS, OP_CONTINUE, OP_OVERFLOW, OP_RESET_FRAME, OP_TERMINATE, OPERATORS, parserContext, pCtx, REMOVE, SET, splitAccumulator, stk, variableFactory
 
Constructor Summary
PropertyVerifier(char[] property, ParserContext parserContext)
           
PropertyVerifier(char[] property, ParserContext parserContext, Class contextType)
           
PropertyVerifier(String property, ParserContext parserContext)
           
PropertyVerifier(String property, ParserContext parserContext, Class root)
           
 
Method Summary
 Class analyze()
          Analyze the statement and return the known egress type.
 Class getCtx()
           
 List<String> getInputs()
           
 boolean isClassLiteral()
           
 boolean isDeepProperty()
           
 boolean isResolvedExternally()
           
 void setCtx(Class ctx)
           
 void setInputs(List<String> inputs)
           
 
Methods inherited from class org.mvel2.optimizers.AbstractOptimizer
capture, findLastUnion, nextSubToken, scanTo, tryStaticAccess, whiteSpaceSkip
 
Methods inherited from class org.mvel2.compiler.AbstractParser
addFatalError, addFatalError, addWarning, arithmeticFunctionReduction, captureIdentifier, captureToEOL, captureToEOS, captureToEOSorEOL, captureToEOT, captureToNextTokenJunction, contextControl, expectEOS, expectNextChar_IW, getCurrentSourceFileName, getCurrentThreadParserContext, getParserContext, getPCtx, handleSubstatement, handleUnion, ifThenElseBlockContinues, incNextNonBlank, isArithmeticOperator, isNextIdentifier, isNextIdentifierOrLiteral, isStatementNotManuallyTerminated, lastNonWhite, loadLanguageFeaturesByLevel, lookAhead, lookAhead, lookBehind, lookToLast, newContext, newContext, nextNonBlank, nextToken, nextTokenSkipSymbols, reduce, removeContext, resetParserContext, setCurrentThreadParserContext, setExpression, setExpression, setLanguageLevel, setPCtx, setupParser, skipWhitespace, tokenContinues, trimLeft, trimRight, trimWhitespace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyVerifier

public PropertyVerifier(char[] property,
                        ParserContext parserContext)

PropertyVerifier

public PropertyVerifier(char[] property,
                        ParserContext parserContext,
                        Class contextType)

PropertyVerifier

public PropertyVerifier(String property,
                        ParserContext parserContext)

PropertyVerifier

public PropertyVerifier(String property,
                        ParserContext parserContext,
                        Class root)
Method Detail

getInputs

public List<String> getInputs()

setInputs

public void setInputs(List<String> inputs)

analyze

public Class analyze()
Analyze the statement and return the known egress type.

Returns:
known engress type

isResolvedExternally

public boolean isResolvedExternally()

isClassLiteral

public boolean isClassLiteral()

isDeepProperty

public boolean isDeepProperty()

getCtx

public Class getCtx()

setCtx

public void setCtx(Class ctx)


Copyright © 2011. All Rights Reserved.