groovy.util
Class GroovyMBean

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


Constructor Summary
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
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