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
,Default.Literal
,InjectLiteral
,NamedLiteral
,Nonbinding.Literal
,QualifierLiteral
,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.
Reflection operations are using
SecurityActions
utility class to support security manager.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)
-
-