Package javax.enterprise.util
Class AnnotationLiteral<T extends java.lang.annotation.Annotation>
- java.lang.Object
-
- javax.enterprise.util.AnnotationLiteral<T>
-
- Type Parameters:
T
- the annotation type
- All Implemented Interfaces:
java.io.Serializable
,java.lang.annotation.Annotation
- Direct Known Subclasses:
Alternative.Literal
,Any.Literal
,ApplicationScoped.Literal
,BeforeDestroyed.Literal
,ConversationScoped.Literal
,Default.Literal
,Dependent.Literal
,Destroyed.Literal
,Initialized.Literal
,InjectLiteral
,NamedLiteral
,New.Literal
,Nonbinding.Literal
,QualifierLiteral
,RequestScoped.Literal
,SessionScoped.Literal
,SingletonLiteral
,Specializes.Literal
,TransientReference.Literal
,Typed.Literal
,Vetoed.Literal
public abstract class AnnotationLiteral<T extends java.lang.annotation.Annotation> extends java.lang.Object implements java.lang.annotation.Annotation, java.io.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 { }
PayBy payByCheque = new PayByQualifier() { public PaymentMethod value() { return CHEQUE; } };
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Class<T>
annotationType
private java.lang.Integer
cachedHashCode
private java.lang.reflect.Method[]
members
private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description protected
AnnotationLiteral()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<? extends java.lang.annotation.Annotation>
annotationType()
private void
appendInBraces(java.lang.StringBuilder buf, java.lang.String s)
boolean
equals(java.lang.Object other)
private static java.lang.Class<?>
getAnnotationLiteralSubclass(java.lang.Class<?> clazz)
private java.lang.reflect.Method[]
getMembers()
private static java.lang.Object
getMemberValue(java.lang.reflect.Method member, java.lang.annotation.Annotation instance)
private static <T> java.lang.Class<T>
getTypeParameter(java.lang.Class<?> annotationLiteralSuperclass)
int
hashCode()
private static java.lang.Object
invoke(java.lang.reflect.Method method, java.lang.Object instance)
java.lang.String
toString()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
annotationType
private transient java.lang.Class<T extends java.lang.annotation.Annotation> annotationType
-
members
private transient java.lang.reflect.Method[] members
-
cachedHashCode
private transient java.lang.Integer cachedHashCode
-
-
Method Detail
-
getMembers
private java.lang.reflect.Method[] getMembers()
-
getAnnotationLiteralSubclass
private static java.lang.Class<?> getAnnotationLiteralSubclass(java.lang.Class<?> clazz)
-
getTypeParameter
private static <T> java.lang.Class<T> getTypeParameter(java.lang.Class<?> annotationLiteralSuperclass)
-
annotationType
public java.lang.Class<? extends java.lang.annotation.Annotation> annotationType()
- Specified by:
annotationType
in interfacejava.lang.annotation.Annotation
-
toString
public java.lang.String toString()
- Specified by:
toString
in interfacejava.lang.annotation.Annotation
- Overrides:
toString
in classjava.lang.Object
-
appendInBraces
private void appendInBraces(java.lang.StringBuilder buf, java.lang.String s)
-
equals
public boolean equals(java.lang.Object other)
- Specified by:
equals
in interfacejava.lang.annotation.Annotation
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.lang.annotation.Annotation
- Overrides:
hashCode
in classjava.lang.Object
-
getMemberValue
private static java.lang.Object getMemberValue(java.lang.reflect.Method member, java.lang.annotation.Annotation instance)
-
invoke
private static java.lang.Object invoke(java.lang.reflect.Method method, java.lang.Object instance)
-
-