DynamicMBean.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package javax.management; /** * The DynamicMBean interface is implemented by resources that expose * their definition at runtime. The implementation exposes its attributes, * methods and notifications through the {@link #getMBeanInfo() getMBeanInfo} * method.<p> * * From a management point of view, the DynamicMBean behaves like any other * MBean.<p> * * It is the responsibility of the implementation to ensure the MBean works * as self-described. The MBeanServer makes no attempt to validate it. <p> * * Although the self-description is retrieved at runtime and is therefore * dynamic, the implementation must not change it once it has been retrieved. * A manager can expect the attributes, methods and notifications to * remain constant. It is the implementation's responsibility to conform to * this behaviour. * * @see javax.management.MBeanInfo * * @author <a href="mailto:Adrian.Brock@HappeningTimes.com">Adrian Brock</a>. * @version $Revision: 1.2 $ * */ public interface DynamicMBean { // Public ------------------------------------------------------ /** * Returns the value of the attribute with the name matching the * passed string. * * @param attribute the name of the attribute. * @return the value of the attribute. * @exception AttributeNotFoundException when there is no such attribute. * @exception MBeanException wraps any error thrown by the resource when * getting the attribute. * @exception ReflectionException wraps any error invoking the resource. */ public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException; /** * Sets the value of an attribute. The attribute and new value are * passed in the name value pair {@link Attribute Attribute}. * * @see javax.management.Attribute * * @param attribute the name and new value of the attribute. * @exception AttributeNotFoundException when there is no such attribute. * @exception InvalidAttributeValueException when the new value cannot be * converted to the type of the attribute. * @exception MBeanException wraps any error thrown by the resource when * setting the new value. * @exception ReflectionException wraps any error invoking the resource. */ public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException; /** * Returns the values of the attributes with names matching the * passed string array. * * @param attributes the names of the attribute. * @return an {@link AttributeList AttributeList} of name and value pairs. */ public AttributeList getAttributes(java.lang.String[] attributes); /** * Sets the values of the attributes passed as an * {@link AttributeList AttributeList} of name and new value pairs. * * @param attributes the name an new value pairs. * @return an {@link AttributeList AttributeList} of name and value pairs * that were actually set. */ public AttributeList setAttributes(AttributeList attributes); /** * Invokes a resource operation. * * @param actionName the name of the operation to perform. * @param params the parameters to pass to the operation. * @param signature the signartures of the parameters. * @return the result of the operation. * @exception MBeanException wraps any error thrown by the resource when * performing the operation. * @exception ReflectionException wraps any error invoking the resource. */ public java.lang.Object invoke(java.lang.String actionName, java.lang.Object[] params, java.lang.String[] signature) throws MBeanException, ReflectionException; /** * Returns the management interface that describes this dynamic resource. * It is the responsibility of the implementation to make sure the * description is accurate. * * @return the management interface. */ public MBeanInfo getMBeanInfo(); }
DynamicMBean.java |