com.waveset.task
Class ExtendedResultsMonitor

java.lang.Object
  extended bycom.waveset.task.AbstractMonitor
      extended bycom.waveset.task.ExtendedResultsMonitor
All Implemented Interfaces:
Monitor

public class ExtendedResultsMonitor
extends AbstractMonitor

Allows an executing task to publish its progress and extended results without worrying about how these will be stored or displayed.


Field Summary
static java.lang.String code_id
           
 
Fields inherited from class com.waveset.task.AbstractMonitor
_monitorError, _monitorInfo, _monitorProgress, _monitorWarning, _trace, trace
 
Constructor Summary
ExtendedResultsMonitor(TaskContext ctx, TaskInstance ti, Executor exec)
           
ExtendedResultsMonitor(TaskContext ctx, TaskInstance ti, Executor exec, java.util.List resultColumns)
           
 
Method Summary
 boolean checkBreak()
          Overrides AbstractMonitor.checkBreak() to return true if terminate is requested.
 Executor getExecutor()
           
 com.waveset.repository.Repository getRepository()
           
 TaskContext getTaskContext()
           
 TaskInstance getTaskInstance()
           
 void monitorDeath(java.lang.Throwable throes)
          A task must signal a fatal exception.
 void monitorDone(WavesetResult res)
          A task must signal completion by returning its result.
 void monitorErrorData(java.lang.String s)
           
 void monitorInputData(java.lang.String s)
           
 void monitorMessage(Message msg)
           
 void monitorOutputData(java.lang.String s)
           
 void monitorOutputMsg(java.lang.String msg)
           
 void monitorProgress(java.lang.String msg)
          A task reports (terse) progress such as "Extracted 127 of 129 accounts read.".
 
Methods inherited from class com.waveset.task.AbstractMonitor
formatData, getProperty, monitorErrorData, monitorErrorData, monitorErrorMsg, monitorErrorMsg, monitorErrorMsg, monitorInputData, monitorInputData, monitorMessage, monitorOutputData, monitorOutputData, monitorOutputMsg, monitorWarningMsg, monitorWarningMsg, monitorWarningMsg, println, setMonitorProgress, setMonitorSeverity, setProperty, setTrace
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

code_id

public static final java.lang.String code_id
See Also:
Constant Field Values
Constructor Detail

ExtendedResultsMonitor

public ExtendedResultsMonitor(TaskContext ctx,
                              TaskInstance ti,
                              Executor exec)
                       throws InvalidArgument,
                              ConfigurationError,
                              IOException

ExtendedResultsMonitor

public ExtendedResultsMonitor(TaskContext ctx,
                              TaskInstance ti,
                              Executor exec,
                              java.util.List resultColumns)
                       throws InvalidArgument,
                              ConfigurationError,
                              IOException
Parameters:
resultColumns - - overrides default columns.
See Also:
ResultRecord.DEFAULT_COLUMNS, ResultTable.setColumns(java.util.List)
Method Detail

getTaskContext

public TaskContext getTaskContext()

getRepository

public com.waveset.repository.Repository getRepository()

getTaskInstance

public TaskInstance getTaskInstance()

getExecutor

public Executor getExecutor()

checkBreak

public boolean checkBreak()
Overrides AbstractMonitor.checkBreak() to return true if terminate is requested.

Specified by:
checkBreak in interface Monitor
Overrides:
checkBreak in class AbstractMonitor
Returns:
true if you want the task to kill itself, false if you want the task to continue.

monitorInputData

public void monitorInputData(java.lang.String s)
Specified by:
monitorInputData in interface Monitor
Overrides:
monitorInputData in class AbstractMonitor

monitorOutputData

public void monitorOutputData(java.lang.String s)
Specified by:
monitorOutputData in interface Monitor
Overrides:
monitorOutputData in class AbstractMonitor

monitorOutputMsg

public void monitorOutputMsg(java.lang.String msg)
Specified by:
monitorOutputMsg in interface Monitor
Overrides:
monitorOutputMsg in class AbstractMonitor

monitorErrorData

public void monitorErrorData(java.lang.String s)
Specified by:
monitorErrorData in interface Monitor
Overrides:
monitorErrorData in class AbstractMonitor

monitorMessage

public void monitorMessage(Message msg)
Overrides:
monitorMessage in class AbstractMonitor

monitorProgress

public void monitorProgress(java.lang.String msg)
A task reports (terse) progress such as "Extracted 127 of 129 accounts read.".

This information is placed in the persistent task instance so that summary status information is available from any server in a load-balanced environment.

Specified by:
monitorProgress in interface Monitor
Overrides:
monitorProgress in class AbstractMonitor

monitorDone

public void monitorDone(WavesetResult res)
Description copied from interface: Monitor
A task must signal completion by returning its result.

Specified by:
monitorDone in interface Monitor
Overrides:
monitorDone in class AbstractMonitor

monitorDeath

public void monitorDeath(java.lang.Throwable throes)
Description copied from interface: Monitor
A task must signal a fatal exception.

This allows the monitor to free any resources, as well as to report the untimely death of the subject task in a standard way.

Specified by:
monitorDeath in interface Monitor
Overrides:
monitorDeath in class AbstractMonitor