java.lang.Object
org.seasar.doma.internal.expr.ExpressionEvaluator
- All Implemented Interfaces:
ExpressionNodeVisitor<EvaluationResult,Void>
public class ExpressionEvaluator
extends Object
implements ExpressionNodeVisitor<EvaluationResult,Void>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classprotected static classprotected static classprotected classprotected static class -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionExpressionEvaluator(Map<String, Value> variableValues, ExpressionFunctions expressionFunctions, ClassHelper classHelper) ExpressionEvaluator(ExpressionFunctions expressionFunctions, ClassHelper classHelper) -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected intcalculateHierarchyDifference(Class<?> paramType, Class<?> argType, int initDifference) protected intcompare(ComparisonOperatorNode node, Object left, Object right) protected EvaluationResultcreateEvaluationResult(Object target, Object value, Class<?> valueClass, Type genericType) protected ExpressionEvaluator.NumbercreateNumber(ArithmeticOperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) protected ExpressionEvaluator.TextcreateText(OperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) evaluate(ExpressionNode node) protected EvaluationResultprotected EvaluationResultevaluateNotNullableOperandNode(ExpressionNode operatorNode, ExpressionNode operandNode, Void p) protected Constructor<?>findConstructor(ExpressionLocation location, Class<?> clazz, Class<?>... paramTypes) protected Fieldprotected MethodfindMethod(String methodName, Object target, Class<?> targetClass, Class<?>[] paramTypes) protected MethodfindMethodFromClasses(String methodName, Object target, Class<?> targetClass, Class<?>[] paramTypes) protected MethodfindMethodFromInterfaces(String methodName, Object target, Class<?> targetClass, Class<?>[] paramTypes) protected FieldfindStaticField(String fieldName, Class<?> targetClass) protected MethodfindStaticMethod(String methodName, Class<?> targetClass, Class<?>[] paramTypes) protected Methodprotected Class<?>forClassName(ExpressionLocation location, String className) protected EvaluationResultgetFieldValue(ExpressionLocation location, Field field, Object target) protected EvaluationResultinvokeConstructor(ExpressionLocation location, Class<?> clazz, Constructor<?> constructor, Object... params) protected EvaluationResultinvokeMethod(ExpressionLocation location, Method method, Object target, Class<?> targetClass, Class<?>[] paramTypes, Object[] params) protected ExpressionExceptionnewNotNumberException(ArithmeticOperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) voidremoveValue(String variableName) protected voidthrowNotTextException(OperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) visitAddOperatorNode(AddOperatorNode node, Void p) visitAndOperatorNode(AndOperatorNode node, Void p) visitCommaOperatorNode(CommaOperatorNode node, Void p) visitEmptyNode(EmptyNode node, Void p) visitEqOperatorNode(EqOperatorNode node, Void p) visitFieldOperatorNode(FieldOperatorNode node, Void p) visitGeOperatorNode(GeOperatorNode node, Void p) visitGtOperatorNode(GtOperatorNode node, Void p) visitLeOperatorNode(LeOperatorNode node, Void p) visitLiteralNode(LiteralNode node, Void p) visitLtOperatorNode(LtOperatorNode node, Void p) visitModOperatorNode(ModOperatorNode node, Void p) visitNeOperatorNode(NeOperatorNode node, Void p) visitNewOperatorNode(NewOperatorNode node, Void p) visitNotOperatorNode(NotOperatorNode node, Void p) visitOrOperatorNode(OrOperatorNode node, Void p) visitParensNode(ParensNode node, Void p) visitVariableNode(VariableNode node, Void p)
-
Field Details
-
variableValues
-
expressionFunctions
-
classHelper
-
-
Constructor Details
-
ExpressionEvaluator
public ExpressionEvaluator() -
ExpressionEvaluator
-
ExpressionEvaluator
public ExpressionEvaluator(Map<String, Value> variableValues, ExpressionFunctions expressionFunctions, ClassHelper classHelper)
-
-
Method Details
-
putValue
-
removeValue
-
add
-
evaluate
-
evaluateInternal
-
visitEqOperatorNode
- Specified by:
visitEqOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitNeOperatorNode
- Specified by:
visitNeOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitGeOperatorNode
- Specified by:
visitGeOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitGtOperatorNode
- Specified by:
visitGtOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitLeOperatorNode
- Specified by:
visitLeOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitLtOperatorNode
- Specified by:
visitLtOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
compare
protected int compare(ComparisonOperatorNode node, Object left, Object right) throws ClassCastException - Throws:
ClassCastException
-
visitAndOperatorNode
- Specified by:
visitAndOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitOrOperatorNode
- Specified by:
visitOrOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitNotOperatorNode
- Specified by:
visitNotOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitAddOperatorNode
- Specified by:
visitAddOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
createText
protected ExpressionEvaluator.Text createText(OperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) -
throwNotTextException
protected void throwNotTextException(OperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) -
visitSubtractOperatorNode
- Specified by:
visitSubtractOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitMultiplyOperatorNode
- Specified by:
visitMultiplyOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitDivideOperatorNode
- Specified by:
visitDivideOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitModOperatorNode
- Specified by:
visitModOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
createNumber
protected ExpressionEvaluator.Number createNumber(ArithmeticOperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) -
newNotNumberException
protected ExpressionException newNotNumberException(ArithmeticOperatorNode operatorNode, ExpressionNode operandNode, EvaluationResult evaluationResult) -
evaluateNotNullableOperandNode
protected EvaluationResult evaluateNotNullableOperandNode(ExpressionNode operatorNode, ExpressionNode operandNode, Void p) -
visitLiteralNode
- Specified by:
visitLiteralNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitParensNode
- Specified by:
visitParensNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitNewOperatorNode
- Specified by:
visitNewOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
forClassName
-
findConstructor
protected Constructor<?> findConstructor(ExpressionLocation location, Class<?> clazz, Class<?>... paramTypes) -
invokeConstructor
protected EvaluationResult invokeConstructor(ExpressionLocation location, Class<?> clazz, Constructor<?> constructor, Object... params) -
visitMethodOperatorNode
- Specified by:
visitMethodOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitStaticMethodOperatorNode
- Specified by:
visitStaticMethodOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
findMethod
-
findMethodFromInterfaces
-
findMethodFromClasses
-
findSuiteMethod
-
calculateHierarchyDifference
-
findStaticMethod
-
invokeMethod
protected EvaluationResult invokeMethod(ExpressionLocation location, Method method, Object target, Class<?> targetClass, Class<?>[] paramTypes, Object[] params) -
visitFunctionOperatorNode
- Specified by:
visitFunctionOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitFieldOperatorNode
- Specified by:
visitFieldOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitStaticFieldOperatorNode
- Specified by:
visitStaticFieldOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
findField
-
findStaticField
-
getFieldValue
-
createEvaluationResult
protected EvaluationResult createEvaluationResult(Object target, Object value, Class<?> valueClass, Type genericType) -
visitVariableNode
- Specified by:
visitVariableNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitCommaOperatorNode
- Specified by:
visitCommaOperatorNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-
visitEmptyNode
- Specified by:
visitEmptyNodein interfaceExpressionNodeVisitor<EvaluationResult,Void>
-