View Javadoc

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  }