org.knime.base.node.preproc.filter.row.rowfilter
Class RowIDRowFilter

java.lang.Object
  extended by org.knime.base.node.preproc.filter.row.rowfilter.RowFilter
      extended by org.knime.base.node.preproc.filter.row.rowfilter.RowIDRowFilter
All Implemented Interfaces:
Cloneable

public class RowIDRowFilter
extends RowFilter

A RowFilter that matches the row ID against a regular expression. It allows for including or excluding matching rows, supports case sensitivity, and supports entire row ID matches vs. starts with.

Author:
Peter Ohl, University of Konstanz

Constructor Summary
RowIDRowFilter()
          The filter created by this contructor matches everything.
RowIDRowFilter(String regExpr, boolean include, boolean caseSensitive, boolean startsWith)
          Creates a new RowFilter that matches the row ID against a regular expression.
 
Method Summary
 DataTableSpec configure(DataTableSpec inSpec)
          Called when a new DataTableSpec is available.
 boolean getCaseSensitivity()
           
 boolean getInclude()
           
 String getRegExpr()
           
 boolean getStartsWith()
           
 void loadSettingsFrom(NodeSettingsRO cfg)
          Load your internal settings from the configuration object.
 boolean matches(DataRow row, int rowIndex)
          Return true if the specified row matches the criteria set in the filter.
protected  void saveSettings(NodeSettingsWO cfg)
          Do not call this function - rather call RowFilter.saveSettingsTo(NodeSettingsWO).
 String toString()
          
 
Methods inherited from class org.knime.base.node.preproc.filter.row.rowfilter.RowFilter
clone, saveSettingsTo
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RowIDRowFilter

public RowIDRowFilter(String regExpr,
                      boolean include,
                      boolean caseSensitive,
                      boolean startsWith)
Creates a new RowFilter that matches the row ID against a regular expression.

Parameters:
regExpr - the regular expression
include - flag inverting the match if set false
caseSensitive - case ignoring match if set false
startsWith - if false, the entire row ID must match the reg expr, if set true it only has to start with the reg expr

RowIDRowFilter

public RowIDRowFilter()
The filter created by this contructor matches everything. The settings are ment to be overloaded by settings from a config object.

Method Detail

getRegExpr

public String getRegExpr()
Returns:
the regular expression row IDs are matched against

getStartsWith

public boolean getStartsWith()
Returns:
true if the rowID must start with the regExpr pattern, false if it only has to start with it

getInclude

public boolean getInclude()
Returns:
true if matching row IDs are included (match method returns true) or false, if they are excluded (matches method returns false, if rowID matches the reg expr.)

getCaseSensitivity

public boolean getCaseSensitivity()
Returns:
true if the match is case sensitive, false if not

matches

public boolean matches(DataRow row,
                       int rowIndex)
Return true if the specified row matches the criteria set in the filter. Can throw a EndOfTableException if the filter can tell that no more rows of the table will be able to fulfill the criteria.

Specified by:
matches in class RowFilter
Parameters:
row - the row to test
rowIndex - the row index of the passed row in the original table
Returns:
true if the row matches the criteria set in the filter, false if not

loadSettingsFrom

public void loadSettingsFrom(NodeSettingsRO cfg)
                      throws InvalidSettingsException
Load your internal settings from the configuration object. Throw an exception if the config is invalid/incorrect/inconsistent.

Specified by:
loadSettingsFrom in class RowFilter
Parameters:
cfg - the object holding the settings to load
Throws:
InvalidSettingsException - if cfg contains invalid/incorrect/inconsistent settings

saveSettings

protected void saveSettings(NodeSettingsWO cfg)
Do not call this function - rather call RowFilter.saveSettingsTo(NodeSettingsWO). This is just a helper function for RowFilter.saveSettingsTo(NodeSettingsWO). Row filters implement this and do the work usually done in RowFilter.saveSettingsTo(NodeSettingsWO). The passed config is prepared in a way that the factory will be able to recreate this object from it.

Specified by:
saveSettings in class RowFilter
Parameters:
cfg - object to add the current internal settings to

configure

public DataTableSpec configure(DataTableSpec inSpec)
                        throws InvalidSettingsException
Called when a new DataTableSpec is available. The filters can grab whatever they need from that new config (e.g. a comparator), should do some error checking (e.g. col number against number of columns) - throw an InvalidSettingsException if settings are invalid, and can return a new table spec according to their settings - if they can. If a filter cannot tell how it would modify the spec, it should return null. (Returned table specs are not used right now anyway.)

Specified by:
configure in class RowFilter
Parameters:
inSpec - the new spec propagated into the row filter node. Could be null or empty!
Returns:
a new table spec, if you can
Throws:
InvalidSettingsException - if the settings in the row filter are not compatible with the table spec coming in

toString

public String toString()

Overrides:
toString in class Object


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.