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.

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

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

Copyright © 2003-2009 The Codehaus. All rights reserved.