org.apache.ode.utils.jmx

## Class SimpleMBean

- java.lang.Object
- - javax.management.StandardMBean
  - - org.apache.ode.utils.jmx.SimpleMBean

- All Implemented Interfaces:
    javax.management.DynamicMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter

      public abstract class SimpleMBean
      extends javax.management.StandardMBean
      implements javax.management.MBeanRegistration, javax.management.NotificationEmitter

  An extension of `StandardMBean` with common features such as registeration, notification, sequence generation, etc. "built-in."

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected javax.management.MBeanServer` | `_mbeanServer`
    `protected javax.management.ObjectName` | `_myName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleMBean(java.lang.Class intfClass)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addNotificationInfo(javax.management.MBeanNotificationInfo notInfo)`
    `void` | `addNotificationListener(javax.management.NotificationListener notificationListener, javax.management.NotificationFilter notificationFilter, java.lang.Object o)`
    `protected abstract javax.management.ObjectName` | `createObjectName()`
    `static javax.management.ObjectName` | `createObjectName(java.lang.String domain, java.lang.String[] names)`
    `javax.management.MBeanNotificationInfo[]` | `getNotificationInfo()`
    `javax.management.ObjectName` | `getObjectName()`
    `protected long` | `nextNotificationSequence()`
    `void` | `postDeregister()`
    `void` | `postRegister(java.lang.Boolean done)`
    `void` | `preDeregister()`
    `javax.management.ObjectName` | `preRegister(javax.management.MBeanServer mBeanServer, javax.management.ObjectName objectName)`
    `javax.management.ObjectName` | `register(javax.management.MBeanServer server)`
    `void` | `removeNotificationListener(javax.management.NotificationListener notificationListener)`
    `void` | `removeNotificationListener(javax.management.NotificationListener notificationListener, javax.management.NotificationFilter notificationFilter, java.lang.Object o)`
    `protected void` | `send(javax.management.Notification notification)`
    `void` | `unregister()`
    `void` | `unregister(javax.management.MBeanServer server)`

    - ### Methods inherited from class javax.management.StandardMBean

      `cacheMBeanInfo, getAttribute, getAttributes, getCachedMBeanInfo, getClassName, getConstructors, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getDescription, getImpact, getImplementation, getImplementationClass, getMBeanInfo, getMBeanInterface, getParameterName, getParameterName, invoke, setAttribute, setAttributes, setImplementation`

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

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

- - ### Field Detail

    - #### _mbeanServer

          protected javax.management.MBeanServer _mbeanServer

    - #### _myName

          protected javax.management.ObjectName _myName

  - ### Constructor Detail

    - #### SimpleMBean

          public SimpleMBean(java.lang.Class intfClass)
                      throws javax.management.NotCompliantMBeanException

      Throws:
        `javax.management.NotCompliantMBeanException`

  - ### Method Detail

    - #### postDeregister

          public void postDeregister()

      Specified by:
        `postDeregister` in interface `javax.management.MBeanRegistration`
      Overrides:
        `postDeregister` in class `javax.management.StandardMBean`

    - #### postRegister

          public void postRegister(java.lang.Boolean done)

      Specified by:
        `postRegister` in interface `javax.management.MBeanRegistration`
      Overrides:
        `postRegister` in class `javax.management.StandardMBean`

    - #### preDeregister

          public void preDeregister()
                             throws java.lang.Exception

      Specified by:
        `preDeregister` in interface `javax.management.MBeanRegistration`
      Overrides:
        `preDeregister` in class `javax.management.StandardMBean`
      Throws:
        `java.lang.Exception`

    - #### preRegister

          public javax.management.ObjectName preRegister(javax.management.MBeanServer mBeanServer,
                                                         javax.management.ObjectName objectName)
                                                  throws java.lang.Exception

      Specified by:
        `preRegister` in interface `javax.management.MBeanRegistration`
      Overrides:
        `preRegister` in class `javax.management.StandardMBean`
      Throws:
        `java.lang.Exception`

    - #### register

          public javax.management.ObjectName register(javax.management.MBeanServer server)

    - #### unregister

          public void unregister()

    - #### unregister

          public void unregister(javax.management.MBeanServer server)

    - #### createObjectName

          protected abstract javax.management.ObjectName createObjectName()

    - #### createObjectName

          public static javax.management.ObjectName createObjectName(java.lang.String domain,
                                                                     java.lang.String[] names)

    - #### getObjectName

          public javax.management.ObjectName getObjectName()

    - #### addNotificationListener

          public void addNotificationListener(javax.management.NotificationListener notificationListener,
                                              javax.management.NotificationFilter notificationFilter,
                                              java.lang.Object o)
                                       throws java.lang.IllegalArgumentException

      Specified by:
        `addNotificationListener` in interface `javax.management.NotificationBroadcaster`
      Throws:
        `java.lang.IllegalArgumentException`

    - #### removeNotificationListener

          public void removeNotificationListener(javax.management.NotificationListener notificationListener)
                                          throws javax.management.ListenerNotFoundException

      Specified by:
        `removeNotificationListener` in interface `javax.management.NotificationBroadcaster`
      Throws:
        `javax.management.ListenerNotFoundException`

    - #### removeNotificationListener

          public void removeNotificationListener(javax.management.NotificationListener notificationListener,
                                                 javax.management.NotificationFilter notificationFilter,
                                                 java.lang.Object o)
                                          throws javax.management.ListenerNotFoundException

      Specified by:
        `removeNotificationListener` in interface `javax.management.NotificationEmitter`
      Throws:
        `javax.management.ListenerNotFoundException`

    - #### getNotificationInfo

          public javax.management.MBeanNotificationInfo[] getNotificationInfo()

      Specified by:
        `getNotificationInfo` in interface `javax.management.NotificationBroadcaster`

    - #### addNotificationInfo

          protected void addNotificationInfo(javax.management.MBeanNotificationInfo notInfo)

    - #### send

          protected void send(javax.management.Notification notification)

    - #### nextNotificationSequence

          protected long nextNotificationSequence()