|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.knime.core.node.NodeModel
org.knime.base.node.parallel.appender.ThreadedColAppenderNodeModel
public abstract class ThreadedColAppenderNodeModel
Field Summary | |
---|---|
static int |
DEFAULT_MAX_THREAD_COUNT
The default maximum number of threads for each threaded node. |
Constructor Summary | |
---|---|
ThreadedColAppenderNodeModel(int nrDataIns,
int nrDataOuts)
Creates a new AbstractParallelNodeModel. |
Method Summary | |
---|---|
protected static DataTableSpec |
createOutputSpec(DataTableSpec inSpec,
ExtendedCellFactory cellFactory)
Returns the output spec based on the input spec and the cell factory. |
protected BufferedDataTable[] |
execute(BufferedDataTable[] data,
ExecutionContext exec)
This function is invoked by the Node#executeNode() method
of the node (through the
#executeModel(BufferedDataTable[],ExecutionMonitor)
method)only after all predecessor nodes have been successfully executed
and all data is therefore available at the input ports. |
protected BufferedDataTable[] |
getAdditionalTables()
Returns all additional tables passed into the node, i.e. |
protected BufferedDataTable[] |
postExecute(BufferedDataTable[] res,
ExecutionContext exec)
This method is called after all rows have been processed and combined into the final result tables. |
protected abstract ExtendedCellFactory[] |
prepareExecute(DataTable[] data)
This method is called before the first chunked is processed. |
void |
setMaxThreads(int count)
Sets the maximum number of threads that may be used by this node. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_MAX_THREAD_COUNT
Constructor Detail |
---|
public ThreadedColAppenderNodeModel(int nrDataIns, int nrDataOuts)
nrDataIns
- The number of DataTable
elements expected as
inputs.nrDataOuts
- The number of DataTable
objects expected at the
output.Method Detail |
---|
protected abstract ExtendedCellFactory[] prepareExecute(DataTable[] data) throws Exception
data
- the input data tables
Exception
- if something goes wrong during preparationprotected final BufferedDataTable[] execute(BufferedDataTable[] data, ExecutionContext exec) throws Exception
Node#executeNode()
method
of the node (through the
#executeModel(BufferedDataTable[],ExecutionMonitor)
method)only after all predecessor nodes have been successfully executed
and all data is therefore available at the input ports. Implement this
function with your task in the derived model.
The input data is available in the given array argument
inData
and is ensured to be neither null
nor contain null
elements.
In order to create output data, you need to create objects of class
BufferedDataTable
. Use the execution context argument to
create BufferedDataTable
.
execute
in class NodeModel
data
- An array holding DataTable
elements, one for
each input.exec
- The execution monitor for this execute method. It provides us
with means to create new BufferedDataTable
.
Additionally, it should be asked frequently if the execution
should be interrupted and throws an exception then. This
exception might me caught, and then after closing all data
streams, been thrown again. Also, if you can tell the progress
of your task, just set it in this monitor.
null
DataTable elements with the
size of the number of outputs. The result of this execution.
Exception
- If you must fail the execution. Try to provide a
meaningful error message in the exception as it will be
displayed to the user.Please be advised to
check frequently the canceled status by invoking
ExecutionMonitor#checkCanceled
which will
throw an CanceledExcecutionException
and abort
the execution.protected BufferedDataTable[] postExecute(BufferedDataTable[] res, ExecutionContext exec)
res
- the combined result tablesexec
- the currently active execution context
protected final BufferedDataTable[] getAdditionalTables()
null
during
execute(BufferedDataTable[], ExecutionContext)
.
null
if
the node is not currently executingpublic void setMaxThreads(int count)
count
- the maximum thread countprotected static DataTableSpec createOutputSpec(DataTableSpec inSpec, ExtendedCellFactory cellFactory)
inSpec
- the input speccellFactory
- the cell factory used
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |