1 /* 2 * Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 27 package com.sun.org.glassfish.gmbal ; 28 29 import java.lang.annotation.Documented ; 30 import java.lang.annotation.Target ; 31 import java.lang.annotation.ElementType ; 32 import java.lang.annotation.Retention ; 33 import java.lang.annotation.RetentionPolicy ; 34 35 /** This annotation is applied to a method that takes no arguments and returns a value 36 * that is converted into a String for use in the ObjectName when an instance of the enclosing 37 * class is used to construct an open MBean. 38 */ 39 @Documented 40 @Target({ElementType.METHOD, ElementType.FIELD, ElementType.TYPE}) 41 @Retention(RetentionPolicy.RUNTIME) 42 public @interface Description { 43 /** The description to be applied to the annotated element. 44 * This value must not be empty. It can either be the actual string that is inserted 45 * into the MBean info class, or a key into a resource bundle associated with the 46 * ManagedObjectManager. If there is no bundle value associated with the key, or no 47 * resource bundle is specified, the value is used directly in the MBean info class. 48 */ 49 String value() ; 50 51 /** Optional key to use in a resource bundle for this description. If present, 52 * a gmbal tool will generate a resource bundle that contains key=value taken 53 * from the description annotation. 54 * <p> 55 * If this key is not present, the default key is given by the class name, 56 * if this annotation appears on a class, or the class name.method name if 57 * this annotation appears on a method. It is an error to use the default 58 * value for more than one method of the same name, except for setters and getters. 59 * 60 */ 61 String key() default "" ; 62 }