org.databene.benerator.engine.statement
Class GenerateAndConsumeTask

java.lang.Object
  extended by org.databene.benerator.engine.statement.GenerateAndConsumeTask
All Implemented Interfaces:
java.io.Closeable, GeneratorTask, ResourceManager, ThreadAware, Task

public class GenerateAndConsumeTask
extends java.lang.Object
implements GeneratorTask, ResourceManager

Task that creates one data set instance per run() invocation and sends it to the specified consumer.

Created: 01.02.2008 14:39:11

Author:
Volker Bergmann

Constructor Summary
GenerateAndConsumeTask(java.lang.String taskName, Generator<?> generator, Expression<Consumer<?>> consumerExpr, boolean isSubCreator)
           
 
Method Summary
 boolean addResource(java.io.Closeable resource)
           
 void addSubStatement(Statement statement)
           
 void close()
           
 TaskResult execute(Context ctx, ErrorHandler errorHandler)
          Executes the task's work, possibly interacting with the context.
 void flushConsumer()
           
 Consumer<?> getConsumer(Context context)
           
 Generator<?> getGenerator()
           
 java.lang.String getTaskName()
           
 boolean isParallelizable()
           
 boolean isThreadSafe()
           
 void pageFinished()
           
 void reset()
           
protected  void runSubTask(Statement subStatement, BeneratorContext context)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GenerateAndConsumeTask

public GenerateAndConsumeTask(java.lang.String taskName,
                              Generator<?> generator,
                              Expression<Consumer<?>> consumerExpr,
                              boolean isSubCreator)
Method Detail

addSubStatement

public void addSubStatement(Statement statement)

getGenerator

public Generator<?> getGenerator()
Specified by:
getGenerator in interface GeneratorTask

flushConsumer

public void flushConsumer()
Specified by:
flushConsumer in interface GeneratorTask

getTaskName

public java.lang.String getTaskName()
Specified by:
getTaskName in interface Task
Returns:
the name of the task.

isThreadSafe

public boolean isThreadSafe()
Specified by:
isThreadSafe in interface ThreadAware

isParallelizable

public boolean isParallelizable()
Specified by:
isParallelizable in interface ThreadAware

execute

public TaskResult execute(Context ctx,
                          ErrorHandler errorHandler)
Description copied from interface: Task
Executes the task's work, possibly interacting with the context.

Specified by:
execute in interface Task

reset

public void reset()
Specified by:
reset in interface GeneratorTask

pageFinished

public void pageFinished()
Specified by:
pageFinished in interface Task

close

public void close()
Specified by:
close in interface java.io.Closeable
Specified by:
close in interface GeneratorTask
Specified by:
close in interface ResourceManager
Specified by:
close in interface Task

addResource

public boolean addResource(java.io.Closeable resource)
Specified by:
addResource in interface ResourceManager

runSubTask

protected void runSubTask(Statement subStatement,
                          BeneratorContext context)

getConsumer

public Consumer<?> getConsumer(Context context)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2010. All Rights Reserved.