Package 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 | Description
    --- | ---
    `GroovyMBean​(MBeanServerConnection server, String objectName)` |
    `GroovyMBean​(MBeanServerConnection server, String objectName, boolean ignoreErrors)` |
    `GroovyMBean​(MBeanServerConnection server, ObjectName name)` |
    `GroovyMBean​(MBeanServerConnection server, ObjectName name, boolean ignoreErrors)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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)` |
    `String` | `describeAttribute​(String attributeName)` | Description of the specified attribute name.
    `protected String` | `describeAttribute​(MBeanAttributeInfo attr)` | Description of the specified attribute name.
    `List<String>` | `describeOperation​(String operationName)` | Get the description of the specified operation.
    `protected String` | `describeOperation​(MBeanOperationInfo operation)` | Description of the 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