Class EvaluatingVisitor
- java.lang.Object
-
- com.thoughtworks.qdox.builder.impl.EvaluatingVisitor
-
- All Implemented Interfaces:
ExpressionVisitor
public class EvaluatingVisitor extends java.lang.Object implements ExpressionVisitor
Visitor that evaluates annotation expressions.Users of this class must override
getFieldReferenceValue(JavaField)to return values for referenced fields.
-
-
Constructor Summary
Constructors Constructor Description EvaluatingVisitor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.ObjectgetFieldReferenceValue(JavaField javaField)java.util.List<?>getListValue(JavaAnnotation annotation, java.lang.String property)java.lang.ObjectgetValue(JavaAnnotation annotation, java.lang.String property)protected static java.lang.Class<?>numericResultType(java.lang.Object left, java.lang.Object right)Return the numeric result type of a binary operatorprotected static java.lang.Class<?>resultType(java.lang.Object left, java.lang.Object right)Return the result type of a binary operatorprotected static java.lang.Class<?>unaryNumericResultType(java.lang.Object value)Return the result type of an unary operatorprotected static java.lang.Class<?>unaryResultType(java.lang.Object value)java.lang.Objectvisit(Add op)java.lang.Objectvisit(And and)java.util.List<?>visit(AnnotationValueList valueList)java.lang.Objectvisit(Assignment assignment)java.lang.Objectvisit(Cast annotationCast)java.lang.Objectvisit(Constant constant)java.lang.Objectvisit(Divide op)java.lang.Objectvisit(Equals annotationEquals)java.lang.Objectvisit(ExclusiveOr annotationExclusiveOr)java.lang.Objectvisit(FieldRef fieldRef)java.lang.Objectvisit(GreaterEquals greaterEquals)java.lang.Objectvisit(GreaterThan op)java.lang.Objectvisit(LessEquals lessEquals)java.lang.Objectvisit(LessThan op)java.lang.Objectvisit(LogicalAnd and)java.lang.Objectvisit(LogicalNot not)java.lang.Objectvisit(LogicalOr or)java.lang.Objectvisit(MethodInvocation methodInvocation)java.lang.Objectvisit(MinusSign sign)java.lang.Objectvisit(Multiply op)java.lang.Objectvisit(Not not)java.lang.Objectvisit(NotEquals annotationNotEquals)java.lang.Objectvisit(Or or)java.lang.Objectvisit(ParenExpression parenExpression)java.lang.Objectvisit(PlusSign sign)java.lang.Objectvisit(PostDecrement postDecrement)java.lang.Objectvisit(PostIncrement postIncrement)java.lang.Objectvisit(PreDecrement preDecrement)java.lang.Objectvisit(PreIncrement preIncrement)java.lang.Objectvisit(Query annotationQuery)java.lang.Objectvisit(Remainder remainder)java.lang.Objectvisit(ShiftLeft shiftLeft)java.lang.Objectvisit(ShiftRight shiftRight)java.lang.Objectvisit(Subtract op)JavaTypevisit(TypeRef typeRef)java.lang.Objectvisit(UnsignedShiftRight shiftRight)java.lang.Objectvisit(JavaAnnotation annotation)
-
-
-
Method Detail
-
getValue
public java.lang.Object getValue(JavaAnnotation annotation, java.lang.String property)
-
getListValue
public java.util.List<?> getListValue(JavaAnnotation annotation, java.lang.String property)
-
resultType
protected static java.lang.Class<?> resultType(java.lang.Object left, java.lang.Object right)Return the result type of a binary operatorPerforms binary numeric promotion as specified in the Java Language Specification,
- Parameters:
left- the left hand side instanceright- the right hand side instance- Returns:
- the expected result Class
- See Also:
- section 5.6.1
-
numericResultType
protected static java.lang.Class<?> numericResultType(java.lang.Object left, java.lang.Object right)Return the numeric result type of a binary operatorPerforms binary numeric promotion as specified in the Java Language Specification,
- Parameters:
left- the left hand side instanceright- the right hand side instance- Returns:
- the expected result Class
- See Also:
- section 5.6.1
-
unaryNumericResultType
protected static java.lang.Class<?> unaryNumericResultType(java.lang.Object value)
Return the result type of an unary operatorPerforms unary numeric promotion as specified in the Java Language Specification,
- Parameters:
value- the instance- Returns:
- the expected result Class
- See Also:
- section 5.6.2
-
unaryResultType
protected static java.lang.Class<?> unaryResultType(java.lang.Object value)
-
visit
public java.lang.Object visit(JavaAnnotation annotation) throws java.lang.UnsupportedOperationException
- Specified by:
visitin interfaceExpressionVisitor- Throws:
java.lang.UnsupportedOperationException
-
visit
public java.lang.Object visit(Add op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Constant constant)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Divide op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(FieldRef fieldRef)
- Specified by:
visitin interfaceExpressionVisitor
-
getFieldReferenceValue
protected java.lang.Object getFieldReferenceValue(JavaField javaField)
-
visit
public java.lang.Object visit(GreaterThan op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(LessThan op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Multiply op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(ParenExpression parenExpression)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Subtract op)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public JavaType visit(TypeRef typeRef)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.util.List<?> visit(AnnotationValueList valueList)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(And and)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(GreaterEquals greaterEquals)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(LessEquals lessEquals)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(LogicalAnd and)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(LogicalNot not)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(LogicalOr or)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(MinusSign sign)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Not not)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Or or)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(PlusSign sign)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Remainder remainder)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(ShiftLeft shiftLeft)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(ShiftRight shiftRight)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(UnsignedShiftRight shiftRight)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Equals annotationEquals)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(ExclusiveOr annotationExclusiveOr)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(NotEquals annotationNotEquals)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Query annotationQuery)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Cast annotationCast)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(PreDecrement preDecrement)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(PreIncrement preIncrement)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(PostDecrement postDecrement)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(PostIncrement postIncrement)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(Assignment assignment)
- Specified by:
visitin interfaceExpressionVisitor
-
visit
public java.lang.Object visit(MethodInvocation methodInvocation)
- Specified by:
visitin interfaceExpressionVisitor
-
-