org.hibernate.validator.util.annotationfactory
Class AnnotationProxy
java.lang.Object
org.hibernate.validator.util.annotationfactory.AnnotationProxy
- All Implemented Interfaces:
- java.io.Serializable, java.lang.annotation.Annotation, java.lang.reflect.InvocationHandler
public class AnnotationProxy
- extends java.lang.Object
- implements java.lang.annotation.Annotation, java.lang.reflect.InvocationHandler, java.io.Serializable
A concrete implementation of 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.
- Author:
- Paolo Perrotta, Davide Marchignoli
- See Also:
Annotation,
Serialized Form
|
Method Summary |
java.lang.Class<? extends java.lang.annotation.Annotation> |
annotationType()
|
java.lang.Object |
invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
|
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.lang.annotation.Annotation |
equals, hashCode |
AnnotationProxy
public AnnotationProxy(AnnotationDescriptor<?> descriptor)
invoke
public java.lang.Object invoke(java.lang.Object proxy,
java.lang.reflect.Method method,
java.lang.Object[] args)
throws java.lang.Throwable
- Specified by:
invoke in interface java.lang.reflect.InvocationHandler
- Throws:
java.lang.Throwable
annotationType
public java.lang.Class<? extends java.lang.annotation.Annotation> annotationType()
- Specified by:
annotationType in interface java.lang.annotation.Annotation
toString
public java.lang.String toString()
- Specified by:
toString in interface java.lang.annotation.Annotation- Overrides:
toString in class java.lang.Object
Copyright © 2011 Oracle Corporation. All Rights Reserved.