View Javadoc

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