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.

Version:
  $Revision: 7934 $
Author:
  James Strachan, Steve Button, Paul King

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

Methods
`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` `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` `listAttributeDescriptions()` List of string representations of all of the attributes on the MBean.
`Collection` `listAttributeNames()` List of the names of each of the attributes on the MBean
`List` `listAttributeValues()` The values of each of the attributes on the MBean
`Collection` `listOperationDescriptions()` Description of all of the operations available on the MBean.
`Collection` `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 listAttributeNames()

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

Returns:
  list of attribute names

#### listAttributeValues

    public List listAttributeValues()

The values of each of the attributes on the MBean

Returns:
  list of values of each attribute

#### listAttributeDescriptions

    public Collection 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 listOperationNames()

Names of all the operations available on the MBean.

Returns:
  all the operations on the MBean

#### listOperationDescriptions

    public Collection listOperationDescriptions()

Description of all of the operations available on the MBean.

Returns:
  full description of each operation on the MBean

#### describeOperation

    public List 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