Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.aspectwerkz.annotation
Class Java5AnnotationInvocationHandler

    java.lang.Object
      org.codehaus.aspectwerkz.annotation.Java5AnnotationInvocationHandler

All Implemented Interfaces:
  InvocationHandler

    public class Java5AnnotationInvocationHandler

extends Object
implements InvocationHandler

Dynamic proxy handler for ASM Annotations we extract The handler resolve the LazyClass to a concrete Class so that the proxy creation does not trigger any class loading.

Author:
  Alexandre Vasseur

Method Summary
`static Annotation` | `getAnnotationProxy(org.objectweb.asm.attrs.Annotation annotation, ClassLoader loader)` Build and return a dynamic proxy representing the given ASM Annotation.
`Object` | `invoke(Object proxy, Method method, Object[] args)` Dynamic proxy based implementation toString(), annotationType() and value() have a specific behavior

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### invoke

    public Object invoke(Object proxy,
                         Method method,
                         Object[] args)
                  throws Throwable

  Dynamic proxy based implementation toString(), annotationType() and value() have a specific behavior

  Specified by:
    `invoke` in interface `InvocationHandler`
  Parameters:
    `proxy` -
    `method` -
    `args` -
  Returns:
  Throws:
    `Throwable`

### getAnnotationProxy

    public static Annotation getAnnotationProxy(org.objectweb.asm.attrs.Annotation annotation,
                                                ClassLoader loader)

  Build and return a dynamic proxy representing the given ASM Annotation. The proxy implements the AspectWerkz Annotation interface, as well as the user type Annotation. Each elements of the annotation is proxied if needed or agressively created unless Class types to not trigger any nested loading. Note: JSR-175 does not support Annotation value of N-dimensional array. At most 1 dimension is supported and only for a subset of Java types.

  Parameters:
    `annotation` -
    `loader` - the classloader of the annotatED component (can be different from the one of the annotation class)
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.