Package: groovy.jmx

## [Java] Class GroovyMBean

- groovy.jmx.GroovyMBean

-     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, String objectName)` Creates a facade for the named MBean.
    `GroovyMBean(MBeanServerConnection server, String objectName, boolean ignoreErrors)` Creates a facade for the named MBean.
    `GroovyMBean(MBeanServerConnection server, ObjectName name)` Creates a facade for the named MBean.
    `GroovyMBean(MBeanServerConnection server, ObjectName name, boolean ignoreErrors)` Creates a facade for the named MBean.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name 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)` Builds the signature array for an operation.
    `` | `protected String` | `describeAttribute(MBeanAttributeInfo attr)` Description of the specified attribute name.
    `` | `public String` | `describeAttribute(String attributeName)` Description of the specified attribute name.
    `` | `public List<String>` | `describeOperation(String operationName)` Get the description of the specified operation.
    `` | `protected String` | `describeOperation(MBeanOperationInfo operation)` Description of the operation.
    `` | `public Object` | `getProperty(String property)` Reads an attribute from the wrapped MBean.
    `` | `public MBeanInfo` | `info()` Returns cached metadata for the wrapped MBean.
    `` | `public Object` | `invokeMethod(String method, Object arguments)` Invokes an operation on the wrapped MBean.
    `` | `public Collection<String>` | `listAttributeDescriptions()` List of string representations of all the attributes on the MBean.
    `` | `public Collection<String>` | `listAttributeNames()` List of the names of each of the attributes on the MBean
    `` | `public List<String>` | `listAttributeValues()` The values of each of the attributes on the MBean
    `` | `public Collection<String>` | `listOperationDescriptions()` Description of all the operations available on the MBean.
    `` | `public Collection<String>` | `listOperationNames()` Names of all the operations available on the MBean.
    `` | `public ObjectName` | `name()` Returns the object name of the wrapped MBean.
    `` | `public MBeanServerConnection` | `server()` Returns the backing server connection.
    `` | `public void` | `setProperty(String property, Object value)` Writes an attribute on the wrapped MBean.
    `` | `public String` | `toString()` Return an end user readable representation of the underlying MBean

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class GroovyObjectSupport` | `getMetaClass, setMetaClass`

- - ### Constructor Detail

    - #### public GroovyMBean(MBeanServerConnection server, String objectName)

      Creates a facade for the named MBean.

      throws:
        JMException if the MBean name is invalid or metadata cannot be read
      throws:
        IOException if the server connection fails
      Parameters:
        `server` - the server connection to use
        `objectName` - the name of the target MBean

    - #### public GroovyMBean(MBeanServerConnection server, String objectName, boolean ignoreErrors)

      Creates a facade for the named MBean.

      throws:
        JMException if the MBean name is invalid or metadata cannot be read
      throws:
        IOException if the server connection fails
      Parameters:
        `server` - the server connection to use
        `objectName` - the name of the target MBean
        `ignoreErrors` - whether access errors should be ignored

    - #### public GroovyMBean(MBeanServerConnection server, ObjectName name)

      Creates a facade for the named MBean.

      throws:
        JMException if metadata cannot be read
      throws:
        IOException if the server connection fails
      Parameters:
        `server` - the server connection to use
        `name` - the object name of the target MBean

    - #### public GroovyMBean(MBeanServerConnection server, ObjectName name, boolean ignoreErrors)

      Creates a facade for the named MBean.

      throws:
        JMException if metadata cannot be read
      throws:
        IOException if the server connection fails
      Parameters:
        `server` - the server connection to use
        `name` - the object name of the target MBean
        `ignoreErrors` - whether access errors should be ignored

  - ### Method Detail

    - #### 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

    - #### protected String[] createSignature(MBeanOperationInfo info)

      Builds the signature array for an operation.

      Parameters:
        `info` - the operation metadata
      Returns:
        the operation signature

    - #### protected String describeAttribute(MBeanAttributeInfo attr)

      Description of the specified attribute name.

      Parameters:
        `attr` - - the attribute
      Returns:
        String the description

    - #### public String describeAttribute(String attributeName)

      Description of the specified attribute name.

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

    - #### 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

    - #### protected String describeOperation(MBeanOperationInfo operation)

      Description of the operation.

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

    - #### public Object getProperty(String property)

      Reads an attribute from the wrapped MBean.

      Parameters:
        `property` - the attribute name
      Returns:
        the attribute value

    - #### public MBeanInfo info()

      Returns cached metadata for the wrapped MBean.

      Returns:
        the MBean metadata

    - #### public Object invokeMethod(String method, Object arguments)

      Invokes an operation on the wrapped MBean.

      Parameters:
        `method` - the operation name
        `arguments` - the operation arguments
      Returns:
        the invocation result

    - #### public Collection<String> listAttributeDescriptions()

      List of string representations of all the attributes on the MBean.

      Returns:
        list of descriptions of each attribute on the mbean

    - #### public Collection<String> listAttributeNames()

      List of the names of each of the attributes on the MBean

      Returns:
        list of attribute names

    - #### public List<String> listAttributeValues()

      The values of each of the attributes on the MBean

      Returns:
        list of values of each attribute

    - #### public Collection<String> listOperationDescriptions()

      Description of all the operations available on the MBean.

      Returns:
        full description of each operation on the MBean

    - #### public Collection<String> listOperationNames()

      Names of all the operations available on the MBean.

      Returns:
        all the operations on the MBean

    - #### public ObjectName name()

      Returns the object name of the wrapped MBean.

      Returns:
        the MBean name

    - #### public MBeanServerConnection server()

      Returns the backing server connection.

      Returns:
        the server connection

    - #### public void setProperty(String property, Object value)

      Writes an attribute on the wrapped MBean.

      Parameters:
        `property` - the attribute name
        `value` - the new attribute value

    - #### public String toString()

      Return an end user readable representation of the underlying MBean

      Returns:
        the user readable description