org.apache.commons.modeler

Class BaseAttributeFilter

Implemented Interfaces:
NotificationFilter

public class BaseAttributeFilter
extends java.lang.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.
Version:
$Revision: 1.3 $ $Date: 2003/07/20 07:35:12 $
Author:
Craig R. McClanahan

Field Summary

private HashSet
names
The set of attribute names that are accepted by this filter.

Constructor Summary

BaseAttributeFilter(String name)
Construct a new filter that accepts only the specified attribute name.

Method Summary

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.

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.

Constructor Details

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 Details

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.

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

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 (c) 2001-2003 - Apache Software Foundation