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​(javax.management.MBeanServerConnection server, java.lang.String objectName)` |
    `GroovyMBean​(javax.management.MBeanServerConnection server, java.lang.String objectName, boolean ignoreErrors)` |
    `GroovyMBean​(javax.management.MBeanServerConnection server, javax.management.ObjectName name)` |
    `GroovyMBean​(javax.management.MBeanServerConnection server, javax.management.ObjectName name, boolean ignoreErrors)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected java.lang.String` | `createOperationKey​(java.lang.String operation, int params)` | Construct a simple key based on the method name and the number of parameters
    `protected java.lang.String[]` | `createSignature​(javax.management.MBeanOperationInfo info)` |
    `java.lang.String` | `describeAttribute​(java.lang.String attributeName)` | Description of the specified attribute name.
    `protected java.lang.String` | `describeAttribute​(javax.management.MBeanAttributeInfo attr)` | Description of the specified attribute name.
    `java.util.List<java.lang.String>` | `describeOperation​(java.lang.String operationName)` | Get the description of the specified operation.
    `protected java.lang.String` | `describeOperation​(javax.management.MBeanOperationInfo operation)` | Description of the operation.
    `java.lang.Object` | `getProperty​(java.lang.String property)` | Retrieves a property value.
    `javax.management.MBeanInfo` | `info()` |
    `java.lang.Object` | `invokeMethod​(java.lang.String method, java.lang.Object arguments)` | Invokes the given method.
    `java.util.Collection<java.lang.String>` | `listAttributeDescriptions()` | List of string representations of all of the attributes on the MBean.
    `java.util.Collection<java.lang.String>` | `listAttributeNames()` | List of the names of each of the attributes on the MBean
    `java.util.List<java.lang.String>` | `listAttributeValues()` | The values of each of the attributes on the MBean
    `java.util.Collection<java.lang.String>` | `listOperationDescriptions()` | Description of all of the operations available on the MBean.
    `java.util.Collection<java.lang.String>` | `listOperationNames()` | Names of all the operations available on the MBean.
    `javax.management.ObjectName` | `name()` |
    `javax.management.MBeanServerConnection` | `server()` |
    `void` | `setProperty​(java.lang.String property, java.lang.Object value)` | Sets the given property to the new value.
    `java.lang.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​(javax.management.MBeanServerConnection server,
                             java.lang.String objectName)
                      throws javax.management.JMException,
                             java.io.IOException

      Throws:
        `javax.management.JMException`
        `java.io.IOException`

    - #### GroovyMBean

          public GroovyMBean​(javax.management.MBeanServerConnection server,
                             java.lang.String objectName,
                             boolean ignoreErrors)
                      throws javax.management.JMException,
                             java.io.IOException

      Throws:
        `javax.management.JMException`
        `java.io.IOException`

    - #### GroovyMBean

          public GroovyMBean​(javax.management.MBeanServerConnection server,
                             javax.management.ObjectName name)
                      throws javax.management.JMException,
                             java.io.IOException

      Throws:
        `javax.management.JMException`
        `java.io.IOException`

    - #### GroovyMBean

          public GroovyMBean​(javax.management.MBeanServerConnection server,
                             javax.management.ObjectName name,
                             boolean ignoreErrors)
                      throws javax.management.JMException,
                             java.io.IOException

      Throws:
        `javax.management.JMException`
        `java.io.IOException`

  - ### Method Detail

    - #### server

          public javax.management.MBeanServerConnection server()

    - #### name

          public javax.management.ObjectName name()

    - #### info

          public javax.management.MBeanInfo info()

    - #### getProperty

          public java.lang.Object getProperty​(java.lang.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​(java.lang.String property,
                                  java.lang.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 java.lang.Object invokeMethod​(java.lang.String method,
                                               java.lang.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 java.lang.String[] createSignature​(javax.management.MBeanOperationInfo info)

    - #### createOperationKey

          protected java.lang.String createOperationKey​(java.lang.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 java.util.Collection<java.lang.String> listAttributeNames()

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

    - #### listAttributeValues

          public java.util.List<java.lang.String> listAttributeValues()

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

    - #### listAttributeDescriptions

          public java.util.Collection<java.lang.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 java.lang.String describeAttribute​(javax.management.MBeanAttributeInfo attr)

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

    - #### describeAttribute

          public java.lang.String describeAttribute​(java.lang.String attributeName)

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

    - #### listOperationNames

          public java.util.Collection<java.lang.String> listOperationNames()

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

    - #### listOperationDescriptions

          public java.util.Collection<java.lang.String> listOperationDescriptions()

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

    - #### describeOperation

          public java.util.List<java.lang.String> describeOperation​(java.lang.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 java.lang.String describeOperation​(javax.management.MBeanOperationInfo operation)

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

    - #### toString

          public java.lang.String toString()

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