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 Details

### MBeanServerNotificationFilter

public MBeanServerNotificationFilter()
Creates a filter selecting all MBeanServerNotification notifications for all ObjectNames.

## Method Details

### 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