public class AlarmDuplicateFilter extends Object implements NotificationFilter
AlarmNotification
s
that occur during a specified period of time. Only the first of a series of
equivalent alarm notifications is allowed through this filter. When the
specified period of time elapses after the first notification, the cycle restarts
and a subsequent equivalent alarm notification is allowed through.
Alarm notification equivalence is tested using the AlarmNotification.equals(java.lang.Object)
method.
Notifications that are not instances of AlarmNotification
are suppressed
by this filter.
Note: This filter implementation does not use threads to clear stale timeouts.
Instead, stale timeouts are cleared on each invocation of isNotificationEnabled
. Methods in this class are also thread-safe.
Constructor and Description |
---|
AlarmDuplicateFilter(long period)
Create an
AlarmDuplicateFilter . |
Modifier and Type | Method and Description |
---|---|
boolean |
isNotificationEnabled(Notification notification)
Determine whether the specified notification should be delivered to notification
listeners using this notification filter.
|
public AlarmDuplicateFilter(long period)
AlarmDuplicateFilter
.period
- the period (measured in ms) during which duplicate alarm
notifications will be discarded.public boolean isNotificationEnabled(Notification notification)
isNotificationEnabled
in interface NotificationFilter
notification
- the notification to be sent.true
if the notification should be delivered to notification
listeners, false
otherwise. This method always returns
false
if notification
is not an instance of
AlarmNotification
.