com.sag.osami.api.context.recorder
Interface IContextStoreRecorder

All Known Implementing Classes:
ContextStoreRecorder

public interface IContextStoreRecorder

This interface provides all methods for controlling the ContextStoreRecorder.

The ContextStoreRecorder allows recording and persisting contexts in machine-independent form over a specific time period.

These persisted contexts then can be imported by the ContextStoreRecorder (in an arbitrary point in time) and "replayed", i.e. the recorded context events would be recreated, with the original time spans in-between, with the first context event created immediately after the replay was started.

Only one recording process at a time is possible, parallel recording and replaying is not permitted.

Since version 1.1.0, the recorder utilizes the serialization mechanism of the ContextStore for persisting and is therefore incompatible with old recordings. Since compatibility could not be ensured anyway, the format of recordings was optimized: recordings are now stored within ZIP files (referred to as "recording container"), thereby improving handling, since data is compressed and multiple recordings are contained in one single file. Thus the required format of the recording URIs changed slightly, see startrecord(URI) and startreplay(URI).


Method Summary
 java.lang.String[] listrecordings(java.net.URI uristring)
          Returns a list of recordings which are contained in a recording container.
 void startrecord(java.net.URI uristring)
          Starts recording contexts into the (existent or newly created) recording container represented by the URI.
 void startreplay(java.net.URI uristring)
          Starts replaying contexts from the recording represented by the URI.
 void stoprecord()
          Stops recording contexts.
 void stopreplay()
          Stops replaying contexts.
 

Method Detail

startrecord

void startrecord(java.net.URI uristring)
Starts recording contexts into the (existent or newly created) recording container represented by the URI.

Please note that the recording is written to a temporary location beforehand and is added to the recording container as soon as the recording is stopped!

Parameters:
uristring - file:/-URI of the recording container

stoprecord

void stoprecord()
Stops recording contexts.


startreplay

void startreplay(java.net.URI uristring)
Starts replaying contexts from the recording represented by the URI.

Parameters:
uristring - The required format of the URI is: file:/<path>#<recNum>, where path denotes the recording container and recNum the number of the recording within the container which is to be replayed. Recording numbers are 1-based.

stopreplay

void stopreplay()
Stops replaying contexts.


listrecordings

java.lang.String[] listrecordings(java.net.URI uristring)
Returns a list of recordings which are contained in a recording container.

Parameters:
uristring - file:/-URI of the recording container
Returns:
list of the recordings, each formatted as follows:
#<recording number> <timestamp of the recording start> -- <timestamp of the recording end> (<recorded events count>)