public class AnnotationProxy extends Object implements Annotation, InvocationHandler, Serializable
Annotation
that pretends it is a
"real" source code annotation. It's also an InvocationHandler
.
When you create an AnnotationProxy
, you must initialize it
with an AnnotationDescriptor
.
The adapter checks that the provided elements are the same elements defined
in the annotation interface. However, it does not check that their
values are the right type. If you omit an element, the adapter will use the
default value for that element from the annotation interface, if it exists.
If no default exists, it will throw an exception.
Warning: this class does not implement hashCode()
and
equals()
- it just uses the ones it inherits from Object
.
This means that an AnnotationProxy
does not follow the
recommendations of the Annotation
javadoc about these two
methods. That's why you should never mix AnnotationProxies
with "real" annotations. For example, don't put them into the same
Collection
.Annotation
,
Serialized FormConstructor and Description |
---|
AnnotationProxy(AnnotationDescriptor<?> descriptor) |
Modifier and Type | Method and Description |
---|---|
Class<? extends Annotation> |
annotationType() |
Object |
invoke(Object proxy,
Method method,
Object[] args) |
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
equals, hashCode
public AnnotationProxy(AnnotationDescriptor<?> descriptor)
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
invoke
in interface InvocationHandler
Throwable
public Class<? extends Annotation> annotationType()
annotationType
in interface Annotation
public String toString()
toString
in interface Annotation
toString
in class Object
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.