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.

Author:
  James Strachan, Steve Button, Paul King

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