Interface AnnotationReader<T,​C,​F,​M>

    • Method Detail

      • setErrorHandler

        void setErrorHandler​(ErrorHandler errorHandler)
        Sets the error handler that receives errors found during reading annotations.
        Parameters:
        errorHandler - must not be null.
      • getFieldAnnotation

        <A extends Annotation> A getFieldAnnotation​(Class<A> annotation,
                                                    F field,
                                                    Locatable srcpos)
        Reads an annotation on a property that consists of a field.
      • hasFieldAnnotation

        boolean hasFieldAnnotation​(Class<? extends Annotation> annotationType,
                                   F field)
        Checks if the given field has an annotation.
      • hasClassAnnotation

        boolean hasClassAnnotation​(C clazz,
                                   Class<? extends Annotation> annotationType)
        Checks if a class has the annotation.
      • getAllFieldAnnotations

        Annotation[] getAllFieldAnnotations​(F field,
                                            Locatable srcPos)
        Gets all the annotations on a field.
      • getMethodAnnotation

        <A extends Annotation> A getMethodAnnotation​(Class<A> annotation,
                                                     M getter,
                                                     M setter,
                                                     Locatable srcpos)
        Reads an annotation on a property that consists of a getter and a setter.
      • hasMethodAnnotation

        boolean hasMethodAnnotation​(Class<? extends Annotation> annotation,
                                    String propertyName,
                                    M getter,
                                    M setter,
                                    Locatable srcPos)
        Checks if the given method has an annotation.
      • getAllMethodAnnotations

        Annotation[] getAllMethodAnnotations​(M method,
                                             Locatable srcPos)
        Gets all the annotations on a method.
        Parameters:
        srcPos - the location from which this annotation is read.
      • hasMethodAnnotation

        boolean hasMethodAnnotation​(Class<? extends Annotation> annotation,
                                    M method)
      • getMethodParameterAnnotation

        @Nullable
        <A extends Annotation> A getMethodParameterAnnotation​(Class<A> annotation,
                                                              M method,
                                                              int paramIndex,
                                                              Locatable srcPos)
        Reads an annotation on a parameter of the method.
        Returns:
        null if the annotation was not found.
      • getPackageAnnotation

        @Nullable
        <A extends Annotation> A getPackageAnnotation​(Class<A> annotation,
                                                      C clazz,
                                                      Locatable srcpos)
        Reads an annotation on the package that the given class belongs to.
      • getClassValue

        T getClassValue​(Annotation a,
                        String name)
        Reads a value of an annotation that returns a Class object.

        Depending on the underlying reflection library, you can't always obtain the Class object directly (see the Annotation Processing MirrorTypeException for example), so use this method to avoid that.

        Parameters:
        name - The name of the annotation parameter to be read.