org.apache.tomcat.util.modeler

## Class FixedNotificationFilter

- java.lang.Object
- - org.apache.tomcat.util.modeler.FixedNotificationFilter

All Implemented Interfaces:
  Serializable, NotificationFilter

    public class FixedNotificationFilter
    extends Object
    implements NotificationFilter

Special NotificationFilter that allows modeler to optimize its notifications. This class is immutable - after you construct it it'll filter based on a fixed set of notification names. The JMX specification requires the filters to be called before the notifications are sent. We can call this filter well in advance, when the listener is added. Based on the result we can maintain separate channels for each notification - and reduce the overhead.

Author:
  Costin Manolache
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`FixedNotificationFilter(String[] names)` Construct a new filter that accepts only the specified notification names.

### Method Summary

Methods
`String[]` `getNames()` Return the set of names that are accepted by this filter.
`boolean` `isNotificationEnabled(Notification notification)` Test whether notification enabled for this event.

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

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

### Constructor Detail

#### FixedNotificationFilter

    public FixedNotificationFilter(String[] names)

Construct a new filter that accepts only the specified notification names.

Parameters:
  `names` - Names of the notification types

### Method Detail

#### getNames

    public String[] getNames()

Return the set of names that are accepted by this filter. If this filter accepts all attribute names, a zero length array will be returned.

#### isNotificationEnabled

    public boolean isNotificationEnabled(Notification notification)

Test whether notification enabled for this event. Return true if:

- Either the set of accepted names is empty (implying that all attribute names are of interest) or the set of accepted names includes the name of the attribute in this notification

Specified by:
  `isNotificationEnabled` in interface `NotificationFilter`