001/* 002 * ============================================================================ 003 * Copyright © 2002-2022 by Thomas Thrien. 004 * All Rights Reserved. 005 * ============================================================================ 006 * Licensed to the public under the agreements of the GNU Lesser General Public 007 * License, version 3.0 (the "License"). You may obtain a copy of the License at 008 * 009 * http://www.gnu.org/licenses/lgpl.html 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 013 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 014 * License for the specific language governing permissions and limitations 015 * under the License. 016 */ 017 018package org.tquadrat.foundation.mgmt; 019 020import static org.apiguardian.api.API.Status.STABLE; 021 022import java.lang.annotation.Documented; 023import java.lang.annotation.ElementType; 024import java.lang.annotation.Inherited; 025import java.lang.annotation.Retention; 026import java.lang.annotation.RetentionPolicy; 027import java.lang.annotation.Target; 028 029import org.apiguardian.api.API; 030import org.tquadrat.foundation.annotation.ClassVersion; 031 032/** 033 * This annotation will be used to mark a method as a setter method for an 034 * MBean implementation. Special care has to be taken if the attribute is of a 035 * primitive type. 036 * 037 * @extauthor Thomas Thrien - thomas.thrien@tquadrat.org 038 * @version $Id: MBeanSetter.java 995 2022-01-23 01:09:35Z tquadrat $ 039 * @since 0.0.1 040 * 041 * @UMLGraph.link 042 */ 043@ClassVersion( sourceVersion = "$Id: MBeanSetter.java 995 2022-01-23 01:09:35Z tquadrat $" ) 044@API( status = STABLE, since = "0.0.1" ) 045@Documented 046@Retention( RetentionPolicy.RUNTIME ) 047@Target( ElementType.METHOD ) 048@Inherited 049public @interface MBeanSetter 050{ 051 /*------------*\ 052 ====** Attributes **======================================================= 053 \*------------*/ 054 /** 055 * Returns the attribute's name. 056 * 057 * @return The name of the attribute. 058 */ 059 String attribute(); 060 061 /** 062 * Returns the description for the attribute. 063 * 064 * @return The description. 065 */ 066 String description() default ""; 067} 068// @interface MBeanSetter 069 070/* 071 * End of File 072 */