Class AnnotationLiteral<T extends Annotation>

  • Type Parameters:
    T - the annotation type
    All Implemented Interfaces:
    Serializable, Annotation
    Direct Known Subclasses:
    CustomAnnotationLiteral

    public abstract class AnnotationLiteral<T extends Annotation>
    extends Object
    implements Annotation, Serializable
    Supports inline instantiation of annotation type instances.

    An instance of an annotation type may be obtained by subclassing AnnotationLiteral.

     public abstract class PayByQualifier
           extends AnnotationLiteral<PayBy>
           implements PayBy {}
     
    An extension of AnnotationLiteral must do two things:
    1. Must have the target annotation as its generic type
    2. Must implement the target type
    In particular, in-line anonymous extensions of AnnotationLiteral will not work because in-line anonymous extensions of AnnotationLiteral cannot implement the target annotation
    Author:
    jwells
    See Also:
    Serialized Form
    • Constructor Detail

      • AnnotationLiteral

        protected AnnotationLiteral()
    • Method Detail

      • annotationType

        public Class<? extends Annotation> annotationType()
        Method returns the type of the annotation literal. The value is resolved lazily during the first call of this method.
        Specified by:
        annotationType in interface Annotation
        Returns:
        annotation type of this literal.