28 import java.lang.annotation.Documented; 29 import java.lang.annotation.ElementType; 30 import java.lang.annotation.Inherited; 31 import java.lang.annotation.Retention; 32 import java.lang.annotation.RetentionPolicy; 33 import java.lang.annotation.Target; 34 35 /** 36 * This lists names of wrapped object's methods which could be accessed through 37 * <code>Wrap.getProperty(String)</code> interface. Methods should be public and 38 * should not have any parameters. 39 * @see Wrap#getProperty(java.lang.String) 40 * @author shura 41 */ 42 @Retention(RetentionPolicy.RUNTIME) 43 @Target(ElementType.TYPE) 44 @Inherited 45 @Documented 46 public @interface MethodProperties { 47 /** 48 * List of method names 49 */ 50 String[] value(); 51 /** 52 * List of field types. In case this list is shorter, all the unmatched ones 53 * from <code>value</code> are considered to be of type <code>Object</code>. 54 */ 55 Class[] types() default {}; 56 /** 57 * Are the properties worth a waiter. 58 */ 59 boolean[] waitable() default {}; 60 } | 28 import java.lang.annotation.Documented; 29 import java.lang.annotation.ElementType; 30 import java.lang.annotation.Inherited; 31 import java.lang.annotation.Retention; 32 import java.lang.annotation.RetentionPolicy; 33 import java.lang.annotation.Target; 34 35 /** 36 * This lists names of wrapped object's methods which could be accessed through 37 * <code>Wrap.getProperty(String)</code> interface. Methods should be public and 38 * should not have any parameters. 39 * @see Wrap#getProperty(java.lang.String) 40 * @author shura 41 */ 42 @Retention(RetentionPolicy.RUNTIME) 43 @Target(ElementType.TYPE) 44 @Inherited 45 @Documented 46 public @interface MethodProperties { 47 /** 48 * @return list of method names 49 */ 50 String[] value(); 51 /** 52 * @return list of field types. In case this list is shorter, all the unmatched ones 53 * from <code>value</code> are considered to be of type <code>Object</code>. 54 */ 55 Class[] types() default {}; 56 /** 57 * @return are the properties worth a waiter. 58 */ 59 boolean[] waitable() default {}; 60 } |