groovy.util

## Class GroovyMBean

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.util.GroovyMBean

- All Implemented Interfaces:
    GroovyObject

      public class GroovyMBean
      extends GroovyObjectSupport

  A GroovyObject facade for an underlying MBean which acts like a normal groovy object but which is actually implemented via an underlying JMX MBean. Properties and normal method invocations delegate to the MBeanServer to the actual MBean.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `GroovyMBean(MBeanServerConnection server, ObjectName name)`
    `GroovyMBean(MBeanServerConnection server, ObjectName name, boolean ignoreErrors)`
    `GroovyMBean(MBeanServerConnection server, String objectName)`
    `GroovyMBean(MBeanServerConnection server, String objectName, boolean ignoreErrors)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `createOperationKey(String operation, int params)` Construct a simple key based on the method name and the number of parameters
    `protected String[]` | `createSignature(MBeanOperationInfo info)`
    `protected String` | `describeAttribute(MBeanAttributeInfo attr)` Description of the specified attribute name.
    `String` | `describeAttribute(String attributeName)` Description of the specified attribute name.
    `protected String` | `describeOperation(MBeanOperationInfo operation)` Description of the operation.
    `List<String>` | `describeOperation(String operationName)` Get the description of the specified operation.
    `Object` | `getProperty(String property)` Retrieves a property value.
    `MBeanInfo` | `info()`
    `Object` | `invokeMethod(String method, Object arguments)` Invokes the given method.
    `Collection<String>` | `listAttributeDescriptions()` List of string representations of all of the attributes on the MBean.
    `Collection<String>` | `listAttributeNames()` List of the names of each of the attributes on the MBean
    `List<String>` | `listAttributeValues()` The values of each of the attributes on the MBean
    `Collection<String>` | `listOperationDescriptions()` Description of all of the operations available on the MBean.
    `Collection<String>` | `listOperationNames()` Names of all the operations available on the MBean.
    `ObjectName` | `name()`
    `MBeanServerConnection` | `server()`
    `void` | `setProperty(String property, Object value)` Sets the given property to the new value.
    `String` | `toString()` Return an end user readable representation of the underlying MBean

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, setMetaClass`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### GroovyMBean

          public GroovyMBean(MBeanServerConnection server,
                             String objectName)
                      throws JMException,
                             IOException

      Throws:
        `JMException`
        `IOException`

    - #### GroovyMBean

          public GroovyMBean(MBeanServerConnection server,
                             String objectName,
                             boolean ignoreErrors)
                      throws JMException,
                             IOException

      Throws:
        `JMException`
        `IOException`

    - #### GroovyMBean

          public GroovyMBean(MBeanServerConnection server,
                             ObjectName name)
                      throws JMException,
                             IOException

      Throws:
        `JMException`
        `IOException`

    - #### GroovyMBean

          public GroovyMBean(MBeanServerConnection server,
                             ObjectName name,
                             boolean ignoreErrors)
                      throws JMException,
                             IOException

      Throws:
        `JMException`
        `IOException`

  - ### Method Detail

    - #### server

          public MBeanServerConnection server()

    - #### name

          public ObjectName name()

    - #### info

          public MBeanInfo info()

    - #### getProperty

          public Object getProperty(String property)

      Description copied from interface: `GroovyObject`
      Retrieves a property value.
      Specified by:
        `getProperty` in interface `GroovyObject`
      Overrides:
        `getProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
      Returns:
        the given property

    - #### setProperty

          public void setProperty(String property,
                                  Object value)

      Description copied from interface: `GroovyObject`
      Sets the given property to the new value.
      Specified by:
        `setProperty` in interface `GroovyObject`
      Overrides:
        `setProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
        `value` - the new value for the property

    - #### invokeMethod

          public Object invokeMethod(String method,
                                     Object arguments)

      Description copied from interface: `GroovyObject`
      Invokes the given method.
      Specified by:
        `invokeMethod` in interface `GroovyObject`
      Overrides:
        `invokeMethod` in class `GroovyObjectSupport`
      Parameters:
        `method` - the name of the method to call
        `arguments` - the arguments to use for the method call
      Returns:
        the result of invoking the method

    - #### createSignature

          protected String[] createSignature(MBeanOperationInfo info)

    - #### createOperationKey

          protected String createOperationKey(String operation,
                                              int params)

      Construct a simple key based on the method name and the number of parameters
      Parameters:
        `operation` - - the mbean operation name
        `params` - - the number of parameters the operation supports
      Returns:
        simple unique identifier for a method

    - #### listAttributeNames

          public Collection<String> listAttributeNames()

      List of the names of each of the attributes on the MBean
      Returns:
        list of attribute names

    - #### listAttributeValues

          public List<String> listAttributeValues()

      The values of each of the attributes on the MBean
      Returns:
        list of values of each attribute

    - #### listAttributeDescriptions

          public Collection<String> listAttributeDescriptions()

      List of string representations of all of the attributes on the MBean.
      Returns:
        list of descriptions of each attribute on the mbean

    - #### describeAttribute

          protected String describeAttribute(MBeanAttributeInfo attr)

      Description of the specified attribute name.
      Parameters:
        `attr` - - the attribute
      Returns:
        String the description

    - #### describeAttribute

          public String describeAttribute(String attributeName)

      Description of the specified attribute name.
      Parameters:
        `attributeName` - - stringified name of the attribute
      Returns:
        the description

    - #### listOperationNames

          public Collection<String> listOperationNames()

      Names of all the operations available on the MBean.
      Returns:
        all the operations on the MBean

    - #### listOperationDescriptions

          public Collection<String> listOperationDescriptions()

      Description of all of the operations available on the MBean.
      Returns:
        full description of each operation on the MBean

    - #### describeOperation

          public List<String> describeOperation(String operationName)

      Get the description of the specified operation. This returns a Collection since operations can be overloaded and one operationName can have multiple forms.
      Parameters:
        `operationName` - the name of the operation to describe
      Returns:
        Collection of operation description

    - #### describeOperation

          protected String describeOperation(MBeanOperationInfo operation)

      Description of the operation.
      Parameters:
        `operation` - the operation to describe
      Returns:
        pretty-printed description

    - #### toString

          public String toString()

      Return an end user readable representation of the underlying MBean
      Overrides:
        `toString` in class `Object`
      Returns:
        the user readable description