public class AnnotationProxy extends Object implements InvocationHandler
Purpose:The purpose of this class is to act as a dynamic proxy that allows JDK Annotation method calls to be made on a non Annotation object.
Responsibilities:
Map of components (method name to value pairs)This class provides a means to invoke JDK Annotation method calls on a non Annotation instance.
Proxy| Modifier and Type | Method and Description |
|---|---|
Map<String,Object> |
getComponents()
Return the
Map of method name/value pairs for this proxy
instance. |
static <A extends Annotation> |
getProxy(Map<String,Object> components,
Class<A> annoClass,
ClassLoader cl,
org.eclipse.persistence.internal.helper.ConversionManager conversionMgr)
This is the preferred way to obtain an instance of a dynamic proxy.
|
Object |
invoke(Object proxy,
Method method,
Object[] args)
Invoke a given
Method on this proxy. |
public static <A extends Annotation> A getProxy(Map<String,Object> components, Class<A> annoClass, ClassLoader cl, org.eclipse.persistence.internal.helper.ConversionManager conversionMgr)
ClassLoader (which is used to load the
target Annotation), a Class (which indicates
the target Annotation, i.e.
jakarta.xml.bind.annotation.XmlElement.class), and a
Map of method name to value pairs, which represent the
method names on the Annotation and the values that are to be
returned from each method call. For example, if this proxy is to be used
for an @XmlElement, the Map should contain the
following keys:
components - Map of method name/value pairs for this proxy
instanceannoClass - The interface for the proxy class to implementcl - The ClassLoader to define the proxy classconversionMgr - ConversionManager instance for converting to the
correct return type in the invoke methodpublic Map<String,Object> getComponents()
Map of method name/value pairs for this proxy
instance.Map of method name/value pairs for this proxy
instancepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Method on this proxy. The component
Map will be accessed using the given Method's
name, and if an entry exists, the associated value is returned.invoke in interface InvocationHandlerproxy - Satisfy the InvocationHandler interface - not
usedmethod - The Method instance corresponding to the
interface method invoked on the proxy instanceargs - Satisfy the InvocationHandler interface - not
usedThrowableCopyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.