Module java.management
Package javax.management

Class NotificationFilterSupport

java.lang.Object
javax.management.NotificationFilterSupport
所有已实现的接口:
Serializable, NotificationFilter
直接已知的子类:
MBeanServerNotificationFilter

public class NotificationFilterSupport extends Object implements NotificationFilter
提供了NotificationFilter接口的实现。过滤是在通知类型属性上执行的。

管理已启用的通知类型列表。一个方法允许用户启用/禁用尽可能多的通知类型。

然后,在将通知发送到使用过滤器注册的侦听器之前,通知广播器将此通知类型与过滤器启用的所有通知类型进行比较。只有在其过滤器启用此通知类型时,通知才会发送到侦听器。

示例:

 NotificationFilterSupport myFilter = new NotificationFilterSupport();
 myFilter.enableType("my_example.my_type");
 myBroadcaster.addListener(myListener, myFilter, null);
 
侦听器myListener将只接收类型等于/以"my_example.my_type"开头的通知。
自版本:
1.5
参见:
  • Constructor Details

    • NotificationFilterSupport

      public NotificationFilterSupport()
      构造一个NotificationFilterSupport
  • Method Details

    • isNotificationEnabled

      public boolean isNotificationEnabled(Notification notification)
      在将指定的通知发送到侦听器之前调用。
      此过滤器将指定通知的类型与每个已启用类型进行比较。如果通知类型与已启用类型之一匹配,则应将通知发送到侦听器,并且此方法返回true
      指定者:
      isNotificationEnabled 在接口 NotificationFilter
      参数:
      notification - 要发送的通知。
      返回:
      如果应将通知发送到侦听器,则为true,否则为false
    • enableType

      public void enableType(String prefix) throws IllegalArgumentException
      启用所有以指定前缀开头的通知发送到侦听器。
      如果指定的前缀已在已启用通知类型列表中,则此方法不起作用。

      示例:

       // 启用所有以"my_example"开头的通知发送。
       myFilter.enableType("my_example");
       // 启用所有类型为"my_example.my_type"的通知发送。
       myFilter.enableType("my_example.my_type");
       
      请注意:
      myFilter.enableType("my_example.*");
      将不匹配任何通知类型。
      参数:
      prefix - 前缀。
      抛出:
      IllegalArgumentException - 前缀参数为null。
    • disableType

      public void disableType(String prefix)
      从前缀列表中移除给定的前缀。
      如果指定的前缀不在已启用通知类型列表中,则此方法不起作用。
      参数:
      prefix - 前缀。
    • disableAllTypes

      public void disableAllTypes()
      禁用所有通知类型。
    • getEnabledTypes

      public Vector<String> getEnabledTypes()
      获取此过滤器的所有已启用通知类型。
      返回:
      包含所有已启用通知类型的列表。