FileDocCategorySizeDatePackage
FixedNotificationFilter.javaAPI DocApache Tomcat 6.0.143108Fri Jul 20 04:20:34 BST 2007org.apache.tomcat.util.modeler

FixedNotificationFilter

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

Fields Summary
private HashSet
names
The set of attribute names that are accepted by this filter. If this list is empty, all attribute names are accepted.
String[]
namesA
Constructors Summary
public FixedNotificationFilter(String[] names)
Construct a new filter that accepts only the specified notification names.

param
names Names of the notification types


                           
       
        super();
    
Methods Summary
public java.lang.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.

        synchronized (names) {
            return ((String[]) names.toArray(new String[names.size()]));
        }
    
public booleanisNotificationEnabled(javax.management.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


        if (notification == null)
            return (false);
        synchronized (names) {
            if (names.size() < 1)
                return (true);
            else
                return (names.contains(notification.getType()));
        }