com.parabon.client
Interface TaskIntermediateResultEvent

All Superinterfaces:
TaskEvent

public interface TaskIntermediateResultEvent
extends TaskEvent

A TaskIntermediateResultEvent is generated is when a task posts intermediate results. Note that more than one event may be generated for the same set of intermediate results, and similarly any given intermediate result may not be delivered via a TaskIntermediateResultEvent at all.


Method Summary
 java.io.InputStream getIntermediateResultsData()
          Returns an InputStream from which a task's intermediate results can be read, as reported via TaskContext.postIntermediateResultsData.
 java.io.Serializable getIntermediateResultsObject()
          Returns an object representing the task's intermediate results, as reported via TaskContext.postIntermediateResultsObject.
 
Methods inherited from interface com.parabon.client.TaskEvent
getProgress, getRunMode, getTaskAttributes, getTaskProxy, isActive, isComplete
 

Method Detail

getIntermediateResultsData

java.io.InputStream getIntermediateResultsData()
Returns an InputStream from which a task's intermediate results can be read, as reported via TaskContext.postIntermediateResultsData. If these intermediate results were posted via TaskContext.postIntermediateResultsObject, this InputStream will contain a bytestream representing the serialized form of the object, accessable via ObjectInputStream.

This InputStream instance is valid only for the lifetime of the event listener method invocation, and it should not be maintained or accessed outside this scope or used after the method completes; any attempt to do so will result in undefined behaviour.

See Also:
TaskContext.postIntermediateResultsData(com.parabon.runtime.DataBuffer)

getIntermediateResultsObject

java.io.Serializable getIntermediateResultsObject()
                                                  throws DeserializationException
Returns an object representing the task's intermediate results, as reported via TaskContext.postIntermediateResultsObject. If these intermediate results were posted via TaskContext.postIntermediateResultsData and the contents are a bytestream readable via ObjectInputStream, then the returned Object will be equal to that returned by the first call to ObjectInputStream.readObject. If the contents are not in this format, do not start with a valid Object, or the object cannot be deserialized, then this method will throw a DeserializationException.

This Object instance may be maintained and read indefinitely, but should not be modified; any attempt to do so will result in undefined behaviour.

Throws:
DeserializationException
See Also:
TaskContext.postIntermediateResultsObject(java.io.Serializable)