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

  - ### Method Summary

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