org.jdesktop.swingx.decorator
Class PatternFilter

java.lang.Object
  extended by org.jdesktop.swingx.decorator.Filter
      extended by org.jdesktop.swingx.decorator.PatternFilter
All Implemented Interfaces:
PatternMatcher

public class PatternFilter
extends Filter
implements PatternMatcher

Pluggable pattern filter.


Field Summary
protected  Pattern pattern
           
 
Fields inherited from class org.jdesktop.swingx.decorator.Filter
adapter, fromPrevious, pipeline
 
Constructor Summary
PatternFilter()
          Instantiates a includeAll PatternFilter with matchFlag 0 on column 0.
PatternFilter(String regularExpr, int matchFlags, int col)
          Instantiates a PatternFilter with a Pattern compiled from the given regex and matchFlags on the column in model coordinates.
 
Method Summary
protected  void filter()
          Performs the filter operation defined by this filter.
 Pattern getPattern()
          Returns the pattern used by this filter for matching.
 int getSize()
          Returns the number of records that remain in this filter's output ("view") after the input records have been filtered.
protected  void init()
          Provides filter-specific initialization.
protected  int mapTowardModel(int row)
          PRE: 0 <= row < getSize();
protected  void reset()
          Resets the internal row mappings from this filter to the previous filter.
 void setPattern(Pattern pattern)
          Sets the pattern used by this filter for matching.
 void setPattern(String regularExpr, int matchFlags)
          Convenience to set the pattern in terms of a regex and matchFlags, which are used to compile the pattern to apply.
 boolean test(int row)
          Tests whether the given row (in this filter's coordinates) should be added.
 
Methods inherited from class org.jdesktop.swingx.decorator.Filter
assign, convertRowIndexToModel, convertRowIndexToView, fireFilterChanged, getColumnIndex, getColumnName, getInputSize, getInputString, getInputValue, getMappingFilter, getPipeline, getStringAt, getValueAt, isCellEditable, mapTowardView, refresh, refresh, setColumnIndex, setValueAt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pattern

protected Pattern pattern
Constructor Detail

PatternFilter

public PatternFilter()
Instantiates a includeAll PatternFilter with matchFlag 0 on column 0.


PatternFilter

public PatternFilter(String regularExpr,
                     int matchFlags,
                     int col)
Instantiates a PatternFilter with a Pattern compiled from the given regex and matchFlags on the column in model coordinates.

Parameters:
regularExpr - the regex to compile, a null or empty String is interpreted as ".*"
matchFlags - the matchflags to use in the compile
col - the column to filter in model coordinates.
Method Detail

setPattern

public void setPattern(String regularExpr,
                       int matchFlags)
Convenience to set the pattern in terms of a regex and matchFlags, which are used to compile the pattern to apply.

Parameters:
regularExpr - the regex to compile, a null or empty String is interpreted as ".*"
matchFlags - the matchflags to use in the compile
See Also:
for details

setPattern

public void setPattern(Pattern pattern)
Sets the pattern used by this filter for matching.

Specified by:
setPattern in interface PatternMatcher
Parameters:
pattern - the pattern used by this filter for matching
See Also:
Pattern

getPattern

public Pattern getPattern()
Returns the pattern used by this filter for matching.

Specified by:
getPattern in interface PatternMatcher
Returns:
the pattern used by this filter for matching
See Also:
Pattern

reset

protected void reset()
Resets the internal row mappings from this filter to the previous filter.

Specified by:
reset in class Filter

filter

protected void filter()
Performs the filter operation defined by this filter.

Specified by:
filter in class Filter

test

public boolean test(int row)
Tests whether the given row (in this filter's coordinates) should be added.

PENDING JW: why is this public? called from a protected method?

Parameters:
row - the row to test
Returns:
true if the row should be added, false if not.

getSize

public int getSize()
Returns the number of records that remain in this filter's output ("view") after the input records have been filtered.

Specified by:
getSize in class Filter
Returns:
the number of records that remain in this filter's output ("view") after the input records have been filtered

mapTowardModel

protected int mapTowardModel(int row)
PRE: 0 <= row < getSize();

Specified by:
mapTowardModel in class Filter
Returns:
TODO:

init

protected void init()
Provides filter-specific initialization. Called from the Filter constructor.

Specified by:
init in class Filter