org.apache.commons.modeler

Class FixedNotificationFilter

Implemented Interfaces:
NotificationFilter

public class FixedNotificationFilter
extends java.lang.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

Field Summary

private HashSet
names
The set of attribute names that are accepted by this filter.
(package private) String[]
namesA

Constructor Summary

FixedNotificationFilter(names[] )
Construct a new filter that accepts only the specified notification names.

Method Summary

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

Field Details

names

private HashSet names
The set of attribute names that are accepted by this filter. If this list is empty, all attribute names are accepted.

namesA

(package private)  String[] namesA

Constructor Details

FixedNotificationFilter

public FixedNotificationFilter(names[] )
Construct a new filter that accepts only the specified notification names.
Parameters:

Method Details

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

Copyright (c) 2001-2003 - Apache Software Foundation