org.apache.tomcat.util.modeler

## Class BaseAttributeFilter

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

- All Implemented Interfaces:
    Serializable, NotificationFilter

      public class BaseAttributeFilter
      extends Object
      implements NotificationFilter

  Implementation of `NotificationFilter` for attribute change notifications. This class is used by `BaseModelMBean` to construct attribute change notification event filters when a filter is not supplied by the application.

  Author:
    Craig R. McClanahan
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseAttributeFilter(String name)` Construct a new filter that accepts only the specified attribute name.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAttribute(String name)` Add a new attribute name to the set of names accepted by this filter.
    `void` | `clear()` Clear all accepted names from this filter, so that it will accept all attribute names.
    `String[]` | `getNames()` Return the set of names that are accepted by this filter.
    `boolean` | `isNotificationEnabled(Notification notification)` Test whether notification enabled for this event.
    `void` | `removeAttribute(String name)` Remove an attribute name from the set of names accepted by this filter.

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

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

- - ### Constructor Detail

    - #### BaseAttributeFilter

          public BaseAttributeFilter(String name)

      Construct a new filter that accepts only the specified attribute name.
      Parameters:
        `name` - Name of the attribute to be accepted by this filter, or `null` to accept all attribute names

  - ### Method Detail

    - #### addAttribute

          public void addAttribute(String name)

      Add a new attribute name to the set of names accepted by this filter.
      Parameters:
        `name` - Name of the attribute to be accepted

    - #### clear

          public void clear()

      Clear all accepted names from this filter, so that it will accept all attribute names.

    - #### 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.
      Returns:
        the array of names

    - #### isNotificationEnabled

          public boolean isNotificationEnabled(Notification notification)

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

      - This is an attribute change notification
      - 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`

    - #### removeAttribute

          public void removeAttribute(String name)

      Remove an attribute name from the set of names accepted by this filter.
      Parameters:
        `name` - Name of the attribute to be removed

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.