net.coderazzi.filters
Class ComposedFilter

java.lang.Object
  extended by javax.swing.RowFilter
      extended by net.coderazzi.filters.BaseFilter
          extended by net.coderazzi.filters.ComposedFilter
All Implemented Interfaces:
IFilter, IFilterObserver
Direct Known Subclasses:
AndFilter, OrFilter

public abstract class ComposedFilter
extends BaseFilter
implements IFilterObserver

Abstract parent class to support the composition of multiple filters.

The exact composition semantics (and / or / not) are not defined.

Author:
Luis M Pena - lu@coderazzi.net

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.RowFilter
RowFilter.ComparisonType, RowFilter.Entry<M,I>
 
Field Summary
protected  Set<IFilter> filters
          Set of associated IFilters
 
Fields inherited from class net.coderazzi.filters.BaseFilter
filterObservers
 
Constructor Summary
protected ComposedFilter(IFilter... observables)
          Constructor built up out of none or more IFilter instances
 
Method Summary
 void addFilter(IFilter... filtersToAdd)
          Subscribes one or more IFilter instances to receive filter events from this composition filter.
 void detach()
          Detaches the instance from any observer
 void filterUpdated(IFilter producer)
          Notification made by the observer when the associated IFilter instance updates the held filter.
 Set<IFilter> getFilterObservables()
          Returns all IFilter instances previously added.
 void removeFilter(IFilter filter)
          Unsubscribes a IFilter that was previously subscribed to receive filter events
 
Methods inherited from class net.coderazzi.filters.BaseFilter
addFilterObserver, getFilterObservers, removeFilterObserver, reportFilterUpdatedToObservers
 
Methods inherited from class javax.swing.RowFilter
andFilter, dateFilter, include, notFilter, numberFilter, orFilter, regexFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.coderazzi.filters.IFilter
include
 

Field Detail

filters

protected Set<IFilter> filters
Set of associated IFilters

Constructor Detail

ComposedFilter

protected ComposedFilter(IFilter... observables)
Constructor built up out of none or more IFilter instances

Method Detail

detach

public void detach()
Detaches the instance from any observer

Overrides:
detach in class BaseFilter

addFilter

public void addFilter(IFilter... filtersToAdd)
Subscribes one or more IFilter instances to receive filter events from this composition filter.


removeFilter

public void removeFilter(IFilter filter)
Unsubscribes a IFilter that was previously subscribed to receive filter events


getFilterObservables

public Set<IFilter> getFilterObservables()
Returns all IFilter instances previously added.


filterUpdated

public void filterUpdated(IFilter producer)
Description copied from interface: IFilterObserver

Notification made by the observer when the associated IFilter instance updates the held filter.

Specified by:
filterUpdated in interface IFilterObserver
See Also:
IFilterObserver.filterUpdated(IFilter)