Module java.management
Package javax.management.relation

## Class MBeanServerNotificationFilter

- java.lang.Object
- - javax.management.NotificationFilterSupport
  - - javax.management.relation.MBeanServerNotificationFilter

- All Implemented Interfaces:
    `Serializable`, `NotificationFilter`

      public class MBeanServerNotificationFilter
      extends NotificationFilterSupport

  Filter for `MBeanServerNotification`. This filter filters MBeanServerNotification notifications by selecting the ObjectNames of interest and the operations (registration, unregistration, both) of interest (corresponding to notification types).

  The serialVersionUID of this class is `2605900539589789736L`.

  Since:
    1.5
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MBeanServerNotificationFilter()` | Creates a filter selecting all MBeanServerNotification notifications for all ObjectNames.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `disableAllObjectNames()` | Disables any MBeanServerNotification (all ObjectNames are deselected).
    `void` | `disableObjectName​(ObjectName objectName)` | Disables MBeanServerNotifications concerning given ObjectName.
    `void` | `enableAllObjectNames()` | Enables all MBeanServerNotifications (all ObjectNames are selected).
    `void` | `enableObjectName​(ObjectName objectName)` | Enables MBeanServerNotifications concerning given ObjectName.
    `Vector<ObjectName>` | `getDisabledObjectNames()` | Gets all the ObjectNames disabled.
    `Vector<ObjectName>` | `getEnabledObjectNames()` | Gets all the ObjectNames enabled.
    `boolean` | `isNotificationEnabled​(Notification notif)` | Invoked before sending the specified notification to the listener.

    - ### Methods declared in class javax.management.NotificationFilterSupport

      `disableAllTypes, disableType, enableType, getEnabledTypes`

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### MBeanServerNotificationFilter

          public MBeanServerNotificationFilter()

      Creates a filter selecting all MBeanServerNotification notifications for all ObjectNames.

  - ### Method Detail

    - #### disableAllObjectNames

          public void disableAllObjectNames()

      Disables any MBeanServerNotification (all ObjectNames are deselected).

    - #### disableObjectName

          public void disableObjectName​(ObjectName objectName)
                                 throws IllegalArgumentException

      Disables MBeanServerNotifications concerning given ObjectName.
      Parameters:
        `objectName` - ObjectName no longer of interest
      Throws:
        `IllegalArgumentException` - if the given ObjectName is null

    - #### enableAllObjectNames

          public void enableAllObjectNames()

      Enables all MBeanServerNotifications (all ObjectNames are selected).

    - #### enableObjectName

          public void enableObjectName​(ObjectName objectName)
                                throws IllegalArgumentException

      Enables MBeanServerNotifications concerning given ObjectName.
      Parameters:
        `objectName` - ObjectName of interest
      Throws:
        `IllegalArgumentException` - if the given ObjectName is null

    - #### getEnabledObjectNames

          public Vector<ObjectName> getEnabledObjectNames()

      Gets all the ObjectNames enabled.
      Returns:
        Vector of ObjectNames:

        - null means all ObjectNames are implicitly selected, except the ObjectNames explicitly deselected

        - empty means all ObjectNames are deselected, i.e. no ObjectName selected.

    - #### getDisabledObjectNames

          public Vector<ObjectName> getDisabledObjectNames()

      Gets all the ObjectNames disabled.
      Returns:
        Vector of ObjectNames:

        - null means all ObjectNames are implicitly deselected, except the ObjectNames explicitly selected

        - empty means all ObjectNames are selected, i.e. no ObjectName deselected.

    - #### isNotificationEnabled

          public boolean isNotificationEnabled​(Notification notif)
                                        throws IllegalArgumentException

      Invoked before sending the specified notification to the listener.

      If:

      - the ObjectName of the concerned MBean is selected (explicitly OR (implicitly and not explicitly deselected))

      AND

      - the type of the operation (registration or unregistration) is selected

      then the notification is sent to the listener.

      Specified by:
        `isNotificationEnabled` in interface `NotificationFilter`
      Overrides:
        `isNotificationEnabled` in class `NotificationFilterSupport`
      Parameters:
        `notif` - The notification to be sent.
      Returns:
        true if the notification has to be sent to the listener, false otherwise.
      Throws:
        `IllegalArgumentException` - if null parameter