groovy.jmx.builder

## Class JmxBuilderModelMBean

- java.lang.Object
- - javax.management.modelmbean.RequiredModelMBean
  - - groovy.jmx.builder.JmxBuilderModelMBean

- All Implemented Interfaces:
    EventListener, DynamicMBean, MBeanRegistration, ModelMBean, ModelMBeanNotificationBroadcaster, NotificationBroadcaster, NotificationEmitter, NotificationListener, PersistentMBean

      public class JmxBuilderModelMBean
      extends RequiredModelMBean
      implements NotificationListener

  The JmxBuilderModelMBean is the MBean class that proxies exported POGO/POJO inside the MBeanServer. When JmxBuilder exports an object instance, an instance of this class is created and exported inside the MBeanServer.
  Author:
    Vladimir Vivien

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmxBuilderModelMBean()`
    `JmxBuilderModelMBean(ModelMBeanInfo mbi)`
    `JmxBuilderModelMBean(Object objectRef)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEventListeners(MBeanServer server, Map<String,Map<String,Object>> descriptor)` Sets up event listeners for this MBean as described in the descriptor.
    `void` | `addOperationCallListeners(Map<String,Map<String,Map<String,Object>>> descriptor)` Registers listeners for operation calls (i.e.
    `void` | `handleNotification(Notification note, Object handback)`
    `Object` | `invoke(String opName, Object[] opArgs, String[] signature)`
    `void` | `setManagedResource(Object obj)`

    - ### Methods inherited from class javax.management.modelmbean.RequiredModelMBean

      `addAttributeChangeNotificationListener, addNotificationListener, getAttribute, getAttributes, getClassLoaderRepository, getMBeanInfo, getNotificationInfo, load, postDeregister, postRegister, preDeregister, preRegister, removeAttributeChangeNotificationListener, removeNotificationListener, removeNotificationListener, sendAttributeChangeNotification, sendAttributeChangeNotification, sendNotification, sendNotification, setAttribute, setAttributes, setManagedResource, setModelMBeanInfo, store`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JmxBuilderModelMBean

          public JmxBuilderModelMBean(Object objectRef)
                               throws MBeanException,
                                      RuntimeOperationsException,
                                      InstanceNotFoundException,
                                      InvalidTargetObjectTypeException

      Throws:
        `MBeanException`
        `RuntimeOperationsException`
        `InstanceNotFoundException`
        `InvalidTargetObjectTypeException`

    - #### JmxBuilderModelMBean

          public JmxBuilderModelMBean()
                               throws MBeanException,
                                      RuntimeOperationsException

      Throws:
        `MBeanException`
        `RuntimeOperationsException`

    - #### JmxBuilderModelMBean

          public JmxBuilderModelMBean(ModelMBeanInfo mbi)
                               throws MBeanException,
                                      RuntimeOperationsException

      Throws:
        `MBeanException`
        `RuntimeOperationsException`

  - ### Method Detail

    - #### setManagedResource

          public void setManagedResource(Object obj)

    - #### addOperationCallListeners

          public void addOperationCallListeners(Map<String,Map<String,Map<String,Object>>> descriptor)

      Registers listeners for operation calls (i.e. method, getter, and setter calls) when invoked on this bean from the MBeanServer. Descriptor should contain a map with layout item -> [Map[methodListener:[target:"", tpe:"", callback:&Closure], ... ,]]
      Parameters:
        `descriptor` - MetaMap descriptor containing description of operation call listeners

    - #### addEventListeners

          public void addEventListeners(MBeanServer server,
                               Map<String,Map<String,Object>> descriptor)

      Sets up event listeners for this MBean as described in the descriptor. The descriptor contains a map with layout {item -> Map[event:"...", from:ObjectName, callback:&Closure],...,}
      Parameters:
        `server` - the MBeanServer is to be registered.
        `descriptor` - a map containing info about the event

    - #### invoke

          public Object invoke(String opName,
                      Object[] opArgs,
                      String[] signature)
                        throws MBeanException,
                               ReflectionException

      Specified by:
        `invoke` in interface `DynamicMBean`
      Overrides:
        `invoke` in class `RequiredModelMBean`
      Throws:
        `MBeanException`
        `ReflectionException`

    - #### handleNotification

          public void handleNotification(Notification note,
                                Object handback)

      Specified by:
        `handleNotification` in interface `NotificationListener`