Class EvaluatingVisitor
- java.lang.Object
-
- com.thoughtworks.qdox.model.annotation.EvaluatingVisitor
-
- All Implemented Interfaces:
AnnotationVisitor
public abstract class EvaluatingVisitor extends java.lang.Object implements AnnotationVisitor
Visitor that evaluates annotation expressions.Users of this class must override
getFieldReferenceValue(JavaField)
to return values for referenced fields.- Author:
- Jochen Kuhnle
-
-
Constructor Summary
Constructors Constructor Description EvaluatingVisitor()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract java.lang.Object
getFieldReferenceValue(JavaField javaField)
java.util.List
getListValue(Annotation annotation, java.lang.String property)
java.lang.Object
getValue(Annotation 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.Object
visitAnnotation(Annotation annotation)
java.lang.Object
visitAnnotationAdd(AnnotationAdd op)
java.lang.Object
visitAnnotationAnd(AnnotationAnd and)
java.lang.Object
visitAnnotationCast(AnnotationCast annotationCast)
java.lang.Object
visitAnnotationConstant(AnnotationConstant constant)
java.lang.Object
visitAnnotationDivide(AnnotationDivide op)
java.lang.Object
visitAnnotationEquals(AnnotationEquals annotationEquals)
java.lang.Object
visitAnnotationExclusiveOr(AnnotationExclusiveOr annotationExclusiveOr)
java.lang.Object
visitAnnotationFieldRef(AnnotationFieldRef fieldRef)
java.lang.Object
visitAnnotationGreaterEquals(AnnotationGreaterEquals greaterEquals)
java.lang.Object
visitAnnotationGreaterThan(AnnotationGreaterThan op)
java.lang.Object
visitAnnotationLessEquals(AnnotationLessEquals lessEquals)
java.lang.Object
visitAnnotationLessThan(AnnotationLessThan op)
java.lang.Object
visitAnnotationLogicalAnd(AnnotationLogicalAnd and)
java.lang.Object
visitAnnotationLogicalNot(AnnotationLogicalNot not)
java.lang.Object
visitAnnotationLogicalOr(AnnotationLogicalOr or)
java.lang.Object
visitAnnotationMinusSign(AnnotationMinusSign sign)
java.lang.Object
visitAnnotationMultiply(AnnotationMultiply op)
java.lang.Object
visitAnnotationNot(AnnotationNot not)
java.lang.Object
visitAnnotationNotEquals(AnnotationNotEquals annotationNotEquals)
java.lang.Object
visitAnnotationOr(AnnotationOr or)
java.lang.Object
visitAnnotationParenExpression(AnnotationParenExpression parenExpression)
java.lang.Object
visitAnnotationPlusSign(AnnotationPlusSign sign)
java.lang.Object
visitAnnotationQuery(AnnotationQuery annotationQuery)
java.lang.Object
visitAnnotationRemainder(AnnotationRemainder remainder)
java.lang.Object
visitAnnotationShiftLeft(AnnotationShiftLeft shiftLeft)
java.lang.Object
visitAnnotationShiftRight(AnnotationShiftRight shiftRight)
java.lang.Object
visitAnnotationSubtract(AnnotationSubtract op)
java.lang.Object
visitAnnotationTypeRef(AnnotationTypeRef typeRef)
java.lang.Object
visitAnnotationUnsignedShiftRight(AnnotationUnsignedShiftRight shiftRight)
java.lang.Object
visitAnnotationValueList(AnnotationValueList valueList)
-
-
-
Method Detail
-
getValue
public java.lang.Object getValue(Annotation annotation, java.lang.String property)
-
getListValue
public java.util.List getListValue(Annotation 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,
- 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,
- 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,
- See Also:
- section 5.6.2
-
unaryResultType
protected static java.lang.Class unaryResultType(java.lang.Object value)
-
visitAnnotation
public java.lang.Object visitAnnotation(Annotation annotation)
- Specified by:
visitAnnotation
in interfaceAnnotationVisitor
-
visitAnnotationAdd
public java.lang.Object visitAnnotationAdd(AnnotationAdd op)
- Specified by:
visitAnnotationAdd
in interfaceAnnotationVisitor
-
visitAnnotationConstant
public java.lang.Object visitAnnotationConstant(AnnotationConstant constant)
- Specified by:
visitAnnotationConstant
in interfaceAnnotationVisitor
-
visitAnnotationDivide
public java.lang.Object visitAnnotationDivide(AnnotationDivide op)
- Specified by:
visitAnnotationDivide
in interfaceAnnotationVisitor
-
visitAnnotationFieldRef
public java.lang.Object visitAnnotationFieldRef(AnnotationFieldRef fieldRef)
- Specified by:
visitAnnotationFieldRef
in interfaceAnnotationVisitor
-
getFieldReferenceValue
protected abstract java.lang.Object getFieldReferenceValue(JavaField javaField)
-
visitAnnotationGreaterThan
public java.lang.Object visitAnnotationGreaterThan(AnnotationGreaterThan op)
- Specified by:
visitAnnotationGreaterThan
in interfaceAnnotationVisitor
-
visitAnnotationLessThan
public java.lang.Object visitAnnotationLessThan(AnnotationLessThan op)
- Specified by:
visitAnnotationLessThan
in interfaceAnnotationVisitor
-
visitAnnotationMultiply
public java.lang.Object visitAnnotationMultiply(AnnotationMultiply op)
- Specified by:
visitAnnotationMultiply
in interfaceAnnotationVisitor
-
visitAnnotationParenExpression
public java.lang.Object visitAnnotationParenExpression(AnnotationParenExpression parenExpression)
- Specified by:
visitAnnotationParenExpression
in interfaceAnnotationVisitor
-
visitAnnotationSubtract
public java.lang.Object visitAnnotationSubtract(AnnotationSubtract op)
- Specified by:
visitAnnotationSubtract
in interfaceAnnotationVisitor
-
visitAnnotationTypeRef
public java.lang.Object visitAnnotationTypeRef(AnnotationTypeRef typeRef)
- Specified by:
visitAnnotationTypeRef
in interfaceAnnotationVisitor
-
visitAnnotationValueList
public java.lang.Object visitAnnotationValueList(AnnotationValueList valueList)
- Specified by:
visitAnnotationValueList
in interfaceAnnotationVisitor
-
visitAnnotationAnd
public java.lang.Object visitAnnotationAnd(AnnotationAnd and)
- Specified by:
visitAnnotationAnd
in interfaceAnnotationVisitor
-
visitAnnotationGreaterEquals
public java.lang.Object visitAnnotationGreaterEquals(AnnotationGreaterEquals greaterEquals)
- Specified by:
visitAnnotationGreaterEquals
in interfaceAnnotationVisitor
-
visitAnnotationLessEquals
public java.lang.Object visitAnnotationLessEquals(AnnotationLessEquals lessEquals)
- Specified by:
visitAnnotationLessEquals
in interfaceAnnotationVisitor
-
visitAnnotationLogicalAnd
public java.lang.Object visitAnnotationLogicalAnd(AnnotationLogicalAnd and)
- Specified by:
visitAnnotationLogicalAnd
in interfaceAnnotationVisitor
-
visitAnnotationLogicalNot
public java.lang.Object visitAnnotationLogicalNot(AnnotationLogicalNot not)
- Specified by:
visitAnnotationLogicalNot
in interfaceAnnotationVisitor
-
visitAnnotationLogicalOr
public java.lang.Object visitAnnotationLogicalOr(AnnotationLogicalOr or)
- Specified by:
visitAnnotationLogicalOr
in interfaceAnnotationVisitor
-
visitAnnotationMinusSign
public java.lang.Object visitAnnotationMinusSign(AnnotationMinusSign sign)
- Specified by:
visitAnnotationMinusSign
in interfaceAnnotationVisitor
-
visitAnnotationNot
public java.lang.Object visitAnnotationNot(AnnotationNot not)
- Specified by:
visitAnnotationNot
in interfaceAnnotationVisitor
-
visitAnnotationOr
public java.lang.Object visitAnnotationOr(AnnotationOr or)
- Specified by:
visitAnnotationOr
in interfaceAnnotationVisitor
-
visitAnnotationPlusSign
public java.lang.Object visitAnnotationPlusSign(AnnotationPlusSign sign)
- Specified by:
visitAnnotationPlusSign
in interfaceAnnotationVisitor
-
visitAnnotationRemainder
public java.lang.Object visitAnnotationRemainder(AnnotationRemainder remainder)
- Specified by:
visitAnnotationRemainder
in interfaceAnnotationVisitor
-
visitAnnotationShiftLeft
public java.lang.Object visitAnnotationShiftLeft(AnnotationShiftLeft shiftLeft)
- Specified by:
visitAnnotationShiftLeft
in interfaceAnnotationVisitor
-
visitAnnotationShiftRight
public java.lang.Object visitAnnotationShiftRight(AnnotationShiftRight shiftRight)
- Specified by:
visitAnnotationShiftRight
in interfaceAnnotationVisitor
-
visitAnnotationUnsignedShiftRight
public java.lang.Object visitAnnotationUnsignedShiftRight(AnnotationUnsignedShiftRight shiftRight)
- Specified by:
visitAnnotationUnsignedShiftRight
in interfaceAnnotationVisitor
-
visitAnnotationEquals
public java.lang.Object visitAnnotationEquals(AnnotationEquals annotationEquals)
- Specified by:
visitAnnotationEquals
in interfaceAnnotationVisitor
-
visitAnnotationExclusiveOr
public java.lang.Object visitAnnotationExclusiveOr(AnnotationExclusiveOr annotationExclusiveOr)
- Specified by:
visitAnnotationExclusiveOr
in interfaceAnnotationVisitor
-
visitAnnotationNotEquals
public java.lang.Object visitAnnotationNotEquals(AnnotationNotEquals annotationNotEquals)
- Specified by:
visitAnnotationNotEquals
in interfaceAnnotationVisitor
-
visitAnnotationQuery
public java.lang.Object visitAnnotationQuery(AnnotationQuery annotationQuery)
- Specified by:
visitAnnotationQuery
in interfaceAnnotationVisitor
-
visitAnnotationCast
public java.lang.Object visitAnnotationCast(AnnotationCast annotationCast)
- Specified by:
visitAnnotationCast
in interfaceAnnotationVisitor
-
-