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 }