- java.lang.Object
-
- javax.management.NotificationFilterSupport
-
- All Implemented Interfaces:
-
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”等于/开始的通知。
-
-
构造方法摘要
构造方法 Constructor 描述 NotificationFilterSupport()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
disableAllTypes()
禁用所有通知类型。void
disableType(String prefix)
从前缀列表中删除给定的前缀。void
enableType(String prefix)
启用所有类型的通知以指定的前缀开始发送到侦听器。Vector<String>
getEnabledTypes()
获取此过滤器的所有启用的通知类型。boolean
isNotificationEnabled(Notification notification)
在将指定的通知发送给侦听器之前调用。
-
-
-
方法详细信息
-
isNotificationEnabled
public boolean isNotificationEnabled(Notification notification)
在将指定的通知发送给侦听器之前调用。
此过滤器将指定通知的类型与每个启用的类型进行比较。 如果通知类型与启用的类型匹配,那么该通知应发送给侦听器,此方法返回true
。- Specified by:
-
isNotificationEnabled
在接口NotificationFilter
- 参数
-
notification
- 要发送的通知。 - 结果
-
true
如果通知应该发送给收听者,否则false
。
-
enableType
public void enableType(String prefix) throws IllegalArgumentException
启用所有类型的通知以指定的前缀开始发送到侦听器。
如果指定的前缀已经在已启用的通知类型列表中,则此方法无效。例:
// Enables all notifications the type of which starts with "my_example" to be sent. myFilter.enableType("my_example"); // Enables all notifications the type of which is "my_example.my_type" to be sent. myFilter.enableType("my_example.my_type");
myFilter.enableType("my_example.*");
- 参数
-
prefix
- 前缀。 - 异常
-
IllegalArgumentException
- 前缀参数为空。
-
disableType
public void disableType(String prefix)
从前缀列表中删除给定的前缀。
如果指定的前缀不在已启用通知类型的列表中,则此方法无效。- 参数
-
prefix
- 前缀。
-
disableAllTypes
public void disableAllTypes()
禁用所有通知类型。
-
-