001 /*
002 * Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved.
003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004 *
005 * This code is free software; you can redistribute it and/or modify it
006 * under the terms of the GNU General Public License version 2 only, as
007 * published by the Free Software Foundation. Sun designates this
008 * particular file as subject to the "Classpath" exception as provided
009 * by Sun in the LICENSE file that accompanied this code.
010 *
011 * This code is distributed in the hope that it will be useful, but WITHOUT
012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
014 * version 2 for more details (a copy is included in the LICENSE file that
015 * accompanied this code).
016 *
017 * You should have received a copy of the GNU General Public License version
018 * 2 along with this work; if not, write to the Free Software Foundation,
019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020 *
021 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022 * CA 95054 USA or visit www.sun.com if you need additional information or
023 * have any questions.
024 */
025
026 package javax.management;
027
028 /**
029 * Defines the methods that should be implemented by
030 * a Dynamic MBean (MBean that exposes a dynamic management interface).
031 *
032 * @since 1.5
033 */
034 public interface DynamicMBean {
035
036 /**
037 * Obtain the value of a specific attribute of the Dynamic MBean.
038 *
039 * @param attribute The name of the attribute to be retrieved
040 *
041 * @return The value of the attribute retrieved.
042 *
043 * @exception AttributeNotFoundException
044 * @exception MBeanException Wraps a <CODE>java.lang.Exception</CODE> thrown by the MBean's getter.
045 * @exception ReflectionException Wraps a <CODE>java.lang.Exception</CODE> thrown while trying to invoke the getter.
046 *
047 * @see #setAttribute
048 */
049 public Object getAttribute(String attribute)
050 throws AttributeNotFoundException, MBeanException,
051 ReflectionException;
052
053 /**
054 * Set the value of a specific attribute of the Dynamic MBean.
055 *
056 * @param attribute The identification of the attribute to
057 * be set and the value it is to be set to.
058 *
059 * @exception AttributeNotFoundException
060 * @exception InvalidAttributeValueException
061 * @exception MBeanException Wraps a <CODE>java.lang.Exception</CODE> thrown by the MBean's setter.
062 * @exception ReflectionException Wraps a <CODE>java.lang.Exception</CODE> thrown while trying to invoke the MBean's setter.
063 *
064 * @see #getAttribute
065 */
066 public void setAttribute(Attribute attribute)
067 throws AttributeNotFoundException,
068 InvalidAttributeValueException, MBeanException,
069 ReflectionException;
070
071 /**
072 * Get the values of several attributes of the Dynamic MBean.
073 *
074 * @param attributes A list of the attributes to be retrieved.
075 *
076 * @return The list of attributes retrieved.
077 *
078 * @see #setAttributes
079 */
080 public AttributeList getAttributes(String[] attributes);
081
082 /**
083 * Sets the values of several attributes of the Dynamic MBean.
084 *
085 * @param attributes A list of attributes: The identification of the
086 * attributes to be set and the values they are to be set to.
087 *
088 * @return The list of attributes that were set, with their new values.
089 *
090 * @see #getAttributes
091 */
092 public AttributeList setAttributes(AttributeList attributes);
093
094 /**
095 * Allows an action to be invoked on the Dynamic MBean.
096 *
097 * @param actionName The name of the action to be invoked.
098 * @param params An array containing the parameters to be set when the action is
099 * invoked.
100 * @param signature An array containing the signature of the action. The class objects will
101 * be loaded through the same class loader as the one used for loading the
102 * MBean on which the action is invoked.
103 *
104 * @return The object returned by the action, which represents the result of
105 * invoking the action on the MBean specified.
106 *
107 * @exception MBeanException Wraps a <CODE>java.lang.Exception</CODE> thrown by the MBean's invoked method.
108 * @exception ReflectionException Wraps a <CODE>java.lang.Exception</CODE> thrown while trying to invoke the method
109 */
110 public Object invoke(String actionName, Object params[],
111 String signature[]) throws MBeanException,
112 ReflectionException;
113
114 /**
115 * Provides the exposed attributes and actions of the Dynamic MBean using an MBeanInfo object.
116 *
117 * @return An instance of <CODE>MBeanInfo</CODE> allowing all attributes and actions
118 * exposed by this Dynamic MBean to be retrieved.
119 *
120 */
121 public MBeanInfo getMBeanInfo();
122
123 }
|