Class FixedNotificationFilter

java.lang.Object
org.apache.commons.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:
  • 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

      String[] namesA
  • Constructor Details

    • FixedNotificationFilter

      public FixedNotificationFilter(String[] names)
      Construct a new filter that accepts only the specified notification names.
      Parameters:
      names - Names of the notification types
  • 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
      Specified by:
      isNotificationEnabled in interface NotificationFilter