01: /**************************************************************************************
02: * Copyright (c) Jonas BonŽr, Alexandre Vasseur. All rights reserved. *
03: * http://aspectwerkz.codehaus.org *
04: * ---------------------------------------------------------------------------------- *
05: * The software in this package is published under the terms of the LGPL license *
06: * a copy of which has been included with this distribution in the license.txt file. *
07: **************************************************************************************/package org.codehaus.aspectwerkz.annotation.instrumentation.asm;
08:
09: import org.codehaus.aspectwerkz.annotation.instrumentation.AttributeEnhancer;
10: import org.objectweb.asm.Attribute;
11: import org.objectweb.asm.ByteVector;
12: import org.objectweb.asm.ClassReader;
13: import org.objectweb.asm.ClassWriter;
14: import org.objectweb.asm.Label;
15:
16: /**
17: * Custom annotation wrapper annotation.
18: * This Java 1.5 style annotation is used to wrap user defined / 1.3 / 1.4 annotations instead of using a custom attribute.
19: * This allow to add user defined annotations as RuntimeInvisibleAnnotations and thus to support several annotations and
20: * annotations introduction.
21: * </br>
22: * See AW-234.
23: *
24: * @author <a href="mailto:jboner@codehaus.org">Jonas BonŽr </a>
25: * @author <a href="mailto:alex AT gnilux DOT com">Alexandre Vasseur</a>
26: */
27: public interface CustomAttribute {
28:
29: public final static String TYPE = "Lorg/codehaus/aspectwerkz/annotation/instrumentation/asm/CustomAttribute;";
30:
31: /**
32: * Default value is a String, containing the BASE64 encoding of the serialized data of the user
33: * custom annotation (proxy instance).
34: *
35: * @return
36: */
37: public String value();
38:
39: }
|