View Javadoc

1   package org.sourceforge.jemm.lifecycle;
2   
3   import java.lang.annotation.ElementType;
4   import java.lang.annotation.Retention;
5   import java.lang.annotation.RetentionPolicy;
6   import java.lang.annotation.Target;
7   
8   /**
9    * An annotation marked on compiler created methods which tells the framework
10   * which attributes of the class are used in that method.
11   * 
12   * This is used to allow the beginExecution and endExecution listeners to setup
13   * the object partially when its entered to support that method. Note that only
14   * object values need be setup using this metadata.
15   * 
16   * Also note that Strings are handled like primitives and do not need to be
17   * marked with the uses annotation.
18   * 
19   * @author Paul Keeble
20   * 
21   */
22  @Retention(RetentionPolicy.RUNTIME)
23  @Target(ElementType.METHOD)
24  public @interface AttributeUse {
25  	/**
26  	 * The Declaring class of the attribute.
27  	 */
28  	String clazz();
29  	
30  	/**
31  	 * The attribute name.
32  	 */
33  	String name();
34  }