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.

Author:
  James Strachan, Steve Button, Paul King

## Constructor Summary

Constructors
Constructor
Description
`GroovyMBean(MBeanServerConnection server, String objectName)`
`GroovyMBean(MBeanServerConnection server, String objectName, boolean ignoreErrors)`
`GroovyMBean(MBeanServerConnection server, ObjectName name)`
`GroovyMBean(MBeanServerConnection server, ObjectName name, boolean ignoreErrors)`

## Method Summary

Modifier and Type
Method
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)`
`String`
`describeAttribute(String attributeName)`
Description of the specified attribute name.
`protected String`
`describeAttribute(MBeanAttributeInfo attr)`
Description of the specified attribute name.
`List<String>`
`describeOperation(String operationName)`
Get the description of the specified operation.
`protected String`
`describeOperation(MBeanOperationInfo operation)`
Description of the operation.
`Object`
`getProperty(String property)`
Retrieves a property value.
`MBeanInfo`
`info()`
`Object`
`invokeMethod(String method, Object arguments)`
Invokes the given method.
`Collection<String>`
`listAttributeDescriptions()`
List of string representations of all of the attributes on the MBean.
`Collection<String>`
`listAttributeNames()`
List of the names of each of the attributes on the MBean
`List<String>`
`listAttributeValues()`
The values of each of the attributes on the MBean
`Collection<String>`
`listOperationDescriptions()`
Description of all of the operations available on the MBean.
`Collection<String>`
`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 Details

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

### 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<String> listAttributeNames()
List of the names of each of the attributes on the MBean

Returns:
  list of attribute names

### listAttributeValues

public List<String> listAttributeValues()
The values of each of the attributes on the MBean

Returns:
  list of values of each attribute

### listAttributeDescriptions

public Collection<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 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<String> listOperationNames()
Names of all the operations available on the MBean.

Returns:
  all the operations on the MBean

### listOperationDescriptions

public Collection<String> listOperationDescriptions()
Description of all of the operations available on the MBean.

Returns:
  full description of each operation on the MBean

### describeOperation

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

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