1 /* 2 Copyright (C) 2000 - 2007 Grid Systems, S.A. 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License, version 2, as 6 published by the Free Software Foundation. 7 8 This program is distributed in the hope that it will be useful, 9 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program; if not, write to the Free Software 15 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 */ 17 package com.gridsystems.jmx; 18 19 import java.lang.annotation.Documented; 20 import java.lang.annotation.ElementType; 21 import java.lang.annotation.Retention; 22 import java.lang.annotation.RetentionPolicy; 23 import java.lang.annotation.Target; 24 25 //import javax.management.DescriptorKey; 26 27 /** 28 * ManagedAttribute type. 29 * 30 * @author Rodrigo Ruiz 31 */ 32 @Target(value = ElementType.METHOD) 33 @Retention(value = RetentionPolicy.RUNTIME) 34 @Documented 35 public @interface ManagedAttribute { 36 /** 37 * Attribute description. 38 */ 39 //@DescriptorKey("Description") 40 String description() default "Attribute exposed for management"; 41 42 /** 43 * Attribute default value. 44 */ 45 //@DescriptorKey("default") 46 String defaultValue() default ""; 47 48 /** 49 * Minimum attribute value. 50 */ 51 //@DescriptorKey("minValue") 52 String minValue() default ""; 53 54 /** 55 * Maximum attribute value. 56 */ 57 //@DescriptorKey("maxValue") 58 String maxValue() default ""; 59 60 /** 61 * Attribute legal values. 62 */ 63 //@DescriptorKey("legalValues") 64 String legalValues() default ""; 65 66 /** 67 * How long value is valid, <0 never, =0 always, >0 seconds. 68 */ 69 //@DescriptorKey("currencyTimeLimit") 70 int currencyTimeLimit() default -1; 71 72 /** 73 * OnUpdate|OnTimer|NoMoreOftenThan|OnUnregister|Always|Never. 74 */ 75 //@DescriptorKey("persistPolicy") 76 String persistPolicy() default ""; 77 78 /** 79 * Frequency of persist cycle, measured in seconds. 80 * Used when persistPolicy is"OnTimer" or "NoMoreOftenThan". 81 */ 82 //@DescriptorKey("persistPeriod") 83 int persistPeriod() default -1; 84 }