org.knime.base.node.preproc.binner
Class BinnerColumnFactory

java.lang.Object
  extended by org.knime.base.node.preproc.binner.BinnerColumnFactory
All Implemented Interfaces:
CellFactory

final class BinnerColumnFactory
extends Object
implements CellFactory

Factory to generate binned string cells from a selected column which can be either replaced or appended.

Author:
Thomas Gabriel, University of Konstanz

Nested Class Summary
static interface BinnerColumnFactory.Bin
          General bin.
 
Constructor Summary
BinnerColumnFactory(int columnIdx, BinnerColumnFactory.Bin[] bins, String name, boolean append)
          A binned column created by name and a number of bins.
 
Method Summary
(package private)  DataCell apply(DataCell cell)
          Apply a value to this bining trying to cover it at all available Bins.
(package private)  BinnerColumnFactory.Bin getBin(int index)
          Return Bin for index.
 DataCell[] getCells(DataRow row)
          Get the new cells for a given row.
(package private)  int getColumnIndex()
           
(package private)  DataColumnSpec getColumnSpec()
           
 DataColumnSpec[] getColumnSpecs()
          The column specs for the cells that are generated in the getCells() method.
(package private)  int getNrBins()
           
(package private)  boolean isAppendedColumn()
           
 void setProgress(int curRowNr, int rowCount, RowKey lastKey, ExecutionMonitor exec)
          This method is called when a row has been processed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinnerColumnFactory

BinnerColumnFactory(int columnIdx,
                    BinnerColumnFactory.Bin[] bins,
                    String name,
                    boolean append)
A binned column created by name and a number of bins. The new, binned column is either append or replaced in the current table.

Parameters:
columnIdx - the column index to bin
name - the new binned column name
bins - a set of bins
append - append or replace column
Method Detail

getColumnIndex

int getColumnIndex()
Returns:
the column index to bin

isAppendedColumn

boolean isAppendedColumn()
Returns:
if this bin is appended to the table

getColumnSpec

DataColumnSpec getColumnSpec()
Returns:
the column name to append

getNrBins

int getNrBins()
Returns:
number of bins

getBin

BinnerColumnFactory.Bin getBin(int index)
Return Bin for index.

Parameters:
index - for this index
Returns:
the assigned bin

apply

DataCell apply(DataCell cell)
Apply a value to this bining trying to cover it at all available Bins.

Parameters:
cell - the value to cover
Returns:
the bin's name as DataCell which cover's this value

getCells

public DataCell[] getCells(DataRow row)
Get the new cells for a given row. These cells are incorporated into the existing row. The way it is done is defined through the ColumnRearranger using this object.

Specified by:
getCells in interface CellFactory
Parameters:
row - The row of interest.
Returns:
The new cells to that row.

getColumnSpecs

public DataColumnSpec[] getColumnSpecs()
The column specs for the cells that are generated in the getCells() method. This method is only called once, there is no need to cache the return value. The length of the returned array must match the length of the array returned by the getCells(DataRow) method and also the types must match, i.e. the type of the respective DataColumnSpec must be of the same type or a super type of the cell as returned by getCells(DataRow).

Specified by:
getColumnSpecs in interface CellFactory
Returns:
The specs to the newly created cells.

setProgress

public void setProgress(int curRowNr,
                        int rowCount,
                        RowKey lastKey,
                        ExecutionMonitor exec)
This method is called when a row has been processed. It allows the implementor to set progress in the execution monitor and also some meaningful progress message.

Note, you don't need to check exec.checkCanceled() in the implementation as this is done in the calling class.

Specified by:
setProgress in interface CellFactory
Parameters:
curRowNr - The number of the row just processed
rowCount - The total number of rows.
lastKey - The row's key.
exec - The execution monitor to report progress to.


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.