com.cosylab.jcosyne.server
Class RemoteTaskInvocation

java.lang.Object
  extended bycom.cosylab.jcosyne.server.RemoteTaskInvocation
All Implemented Interfaces:
java.io.Serializable

public class RemoteTaskInvocation
extends java.lang.Object
implements java.io.Serializable

This is a serializable data holder that contains information about a single remote task invocation. This information consists of final and initial state (parametrized by the complete set of RW attributes), start and stop times, and a list of input and output files. Instances of this class are managed by the result repository MBean and are serialized directly to files in the result repository directory. The names of serialized instances of this class are simple consecutive numbers, equal to the ix field of this class.

Author:
Gasper Tkacik (gasper.tkacik@cosylab.com)
See Also:
Serialized Form

Field Summary
 java.lang.String annotation
          Annotation that can be added by the user, describing the results of this invocation in some arbitrary way.
 int completion
          Completion flag as carried by the stop execution notification.
 javax.management.AttributeList finalState
          A serializable list of all RW properties of the remote task captured when the remote task constructed its stop execution notification.
 long finalTimestamp
          Timestamp of the execution stop notification.
 javax.management.AttributeList initialState
          A serializable list of all RW properties of the remote task captured when the remote task constructed its start execution notification.
 long initialTimestamp
          Timestamp of execution start notification.
 java.lang.String[] inputs
          A list of input names that the remote task used as part of its computation.
 int ix
          Index of this remote task invocation.
 java.lang.String[] outputs
          A list of output names that the remote task produced as part of its computation.
 java.lang.String remoteTaskName
          Remote task name is the fully scoped class name of the remote task for which this invocation entry is generated.
 
Constructor Summary
RemoteTaskInvocation()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ix

public int ix
Index of this remote task invocation. Each invocation on a given system has a different index, which equals to the name of the file in which this instance is serialized. Indices are assigned by the remote result repository. Note that the index may change when the remote task invocation data is moved between repositories, it should therefore not be treated as part of remote task invocation "state", but just as a bookkeeping device.


annotation

public java.lang.String annotation
Annotation that can be added by the user, describing the results of this invocation in some arbitrary way. GUI clients should display annotations or maybe even allow search by annotations.


initialState

public javax.management.AttributeList initialState
A serializable list of all RW properties of the remote task captured when the remote task constructed its start execution notification. Note that only readable properties do not consititute the state, since they are supposedly the result of the calculation, i.e. something that is not actively controlled by the user.

See Also:
ExecutionNotification

finalState

public javax.management.AttributeList finalState
A serializable list of all RW properties of the remote task captured when the remote task constructed its stop execution notification.

See Also:
ExecutionNotification

remoteTaskName

public java.lang.String remoteTaskName
Remote task name is the fully scoped class name of the remote task for which this invocation entry is generated. When instantiating from the repository, this field is used to locate and load the appropriate class.


initialTimestamp

public long initialTimestamp
Timestamp of execution start notification.


finalTimestamp

public long finalTimestamp
Timestamp of the execution stop notification.


inputs

public java.lang.String[] inputs
A list of input names that the remote task used as part of its computation. Note that this list is being populated automatically by the result repository, when remote task requests a new input file to be loaded. The names stored are always stored relative to repository input path, see result repository Javadoc.

See Also:
ResultRepository

outputs

public java.lang.String[] outputs
A list of output names that the remote task produced as part of its computation. Result repository populates this list automatically and adds an entry whenever the remote task requests a new output filename allocation. The names stored are always stored relative to the repository output path, see result repository Javadoc.

See Also:
ResultRepository

completion

public int completion
Completion flag as carried by the stop execution notification.

See Also:
ExecutionNotification
Constructor Detail

RemoteTaskInvocation

public RemoteTaskInvocation()