Package groovy.jmx

# Class GroovyMBean

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.jmx.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
  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 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 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.
    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.
    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.
    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 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 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