1 // 2 // ======================================================================== 3 // Copyright (c) 1995-2013 Mort Bay Consulting Pty. Ltd. 4 // ------------------------------------------------------------------------ 5 // All rights reserved. This program and the accompanying materials 6 // are made available under the terms of the Eclipse Public License v1.0 7 // and Apache License v2.0 which accompanies this distribution. 8 // 9 // The Eclipse Public License is available at 10 // http://www.eclipse.org/legal/epl-v10.html 11 // 12 // The Apache License v2.0 is available at 13 // http://www.opensource.org/licenses/apache2.0.php 14 // 15 // You may elect to redistribute this code under either of these licenses. 16 // ======================================================================== 17 // 18 19 package org.eclipse.jetty.util.annotation; 20 //======================================================================== 21 //Copyright 2011-2012 Mort Bay Consulting Pty. Ltd. 22 //------------------------------------------------------------------------ 23 //All rights reserved. This program and the accompanying materials 24 //are made available under the terms of the Eclipse Public License v1.0 25 //and Apache License v2.0 which accompanies this distribution. 26 //The Eclipse Public License is available at 27 //http://www.eclipse.org/legal/epl-v10.html 28 //The Apache License v2.0 is available at 29 //http://www.opensource.org/licenses/apache2.0.php 30 //You may elect to redistribute this code under either of these licenses. 31 //======================================================================== 32 33 import java.lang.annotation.Documented; 34 import java.lang.annotation.ElementType; 35 import java.lang.annotation.Retention; 36 import java.lang.annotation.RetentionPolicy; 37 import java.lang.annotation.Target; 38 39 @Retention(RetentionPolicy.RUNTIME) 40 @Documented 41 @Target( { ElementType.METHOD } ) 42 public @interface ManagedAttribute 43 { 44 /** 45 * Description of the Managed Attribute 46 * 47 * @returngit checkout 48 */ 49 String value() default "Not Specified"; 50 51 /** 52 * name to use for the attribute 53 * 54 * @return the name of the attribute 55 */ 56 String name() default ""; 57 58 /** 59 * Is the managed field read-only? 60 * 61 * Required only when a setter exists but should not be exposed via JMX 62 * 63 * @return true if readonly 64 */ 65 boolean readonly() default false; 66 67 /** 68 * Does the managed field exist on a proxy object? 69 * 70 * 71 * @return true if a proxy object is involved 72 */ 73 boolean proxied() default false; 74 75 76 /** 77 * If is a field references a setter that doesn't conform to standards for discovery 78 * it can be set here. 79 * 80 * @return the full name of the setter in question 81 */ 82 String setter() default ""; 83 84 }