org.ocap.shared.dvr
Interface LeafRecordingRequest

All Superinterfaces:
RecordingRequest
All Known Subinterfaces:
DVBLeafRecordingRequest, OcapRecordingRequest

public interface LeafRecordingRequest
extends RecordingRequest

This interface represents information corresponding to a leaf level recording request. The recording request represented by this interface corresponds to a recording request that has been completely resolved to a single recording.

A leaf recording request may be pending (i.e. waiting for the start-time to occur), in-progress, completed, incomplete, or failed.

While in pending state, a recording request may be in conflict for resources with other recordings. Any such conflicts must be resolved before the scheduled start time of the recording, if not, the pending recording request is expected to result in a failed recording.


Field Summary
static int COMPLETED_STATE
          Recording for this recording request has completed successfully.
static int DELETED_STATE
          The recorded service corresponding to this recording request has been deleted.
static int FAILED_STATE
          The recording request has failed.
static int IN_PROGRESS_INCOMPLETE_STATE
          The recording request is in progress and recording, but cannot be completed because it was started after the start_time or it was interrupted and re-started.
static int IN_PROGRESS_INSUFFICIENT_SPACE_STATE
          Recording has been initiated for this recording request and is ongoing, but the implementation has detected that storage space may not be sufficient to complete the recording.
static int IN_PROGRESS_STATE
          Recording has been initiated for this recording request and is ongoing.
static int IN_PROGRESS_WITH_ERROR_STATE
          The recording request is in progress but recording cannot take place due to some error; e.g. lack of resources.
static int INCOMPLETE_STATE
          Recording for this recording request was initiated but failed.
static int PENDING_NO_CONFLICT_STATE
          The recording request is Pending.
static int PENDING_WITH_CONFLICT_STATE
          The recording request may not be intiated due to resource conflicts.
 
Method Summary
 void cancel()
          Cancels a pending recording request.
 DeletionDetails getDeletionDetails()
          Gets detailed information about the deletion of the recorded service corresponding to this recording request.
 java.lang.Exception getFailedException()
          Gets the exception that caused the recording request to enter the FAILED_STATE, or INCOMPLETE_STATE or IN_PROGRESS_WITH_ERROR_STATE, or IN_PROGRESS_INCOMPLETE_STATE.
 SegmentedRecordedService getService()
          Returns the SegmentedRecordedService corresponding to the recording request.
 void stop()
          Stops the recording for an in-progress recording request regardless of how much of the duration has been recorded.
 
Methods inherited from interface org.ocap.shared.dvr.RecordingRequest
addAppData, delete, getAppData, getAppID, getId, getKeys, getParent, getRecordingSpec, getRoot, getState, isRoot, removeAppData, reschedule, setRecordingProperties
 

Field Detail

PENDING_NO_CONFLICT_STATE

static final int PENDING_NO_CONFLICT_STATE
The recording request is Pending. Recording for this request is expected to complete successfully.

See Also:
Constant Field Values

PENDING_WITH_CONFLICT_STATE

static final int PENDING_WITH_CONFLICT_STATE
The recording request may not be intiated due to resource conflicts. The implementation has detected a resource conflict for the scheduled time of this recording request and the current resolution of the conflict does not allow this recording request to be initiated successfully.

See Also:
Constant Field Values

IN_PROGRESS_STATE

static final int IN_PROGRESS_STATE
Recording has been initiated for this recording request and is ongoing. Recording is expected to complete successfully.

See Also:
Constant Field Values

IN_PROGRESS_INSUFFICIENT_SPACE_STATE

static final int IN_PROGRESS_INSUFFICIENT_SPACE_STATE
Recording has been initiated for this recording request and is ongoing, but the implementation has detected that storage space may not be sufficient to complete the recording.

See Also:
Constant Field Values

INCOMPLETE_STATE

static final int INCOMPLETE_STATE
Recording for this recording request was initiated but failed.

See Also:
Constant Field Values

COMPLETED_STATE

static final int COMPLETED_STATE
Recording for this recording request has completed successfully.

See Also:
Constant Field Values

FAILED_STATE

static final int FAILED_STATE
The recording request has failed.

See Also:
Constant Field Values

DELETED_STATE

static final int DELETED_STATE
The recorded service corresponding to this recording request has been deleted.

See Also:
Constant Field Values

IN_PROGRESS_WITH_ERROR_STATE

static final int IN_PROGRESS_WITH_ERROR_STATE
The recording request is in progress but recording cannot take place due to some error; e.g. lack of resources.

See Also:
Constant Field Values

IN_PROGRESS_INCOMPLETE_STATE

static final int IN_PROGRESS_INCOMPLETE_STATE
The recording request is in progress and recording, but cannot be completed because it was started after the start_time or it was interrupted and re-started.

See Also:
Constant Field Values
Method Detail

cancel

void cancel()
            throws java.lang.IllegalStateException,
                   AccessDeniedException
Cancels a pending recording request. If this method completes successfully without throwing an exception then the recording request will have been deleted from the database. Cancelling a recording request may resolve one or more conflicts. In this case some pending recordings with conflicts would be changed to pending without conflicts.

Throws:
AccessDeniedException - if the calling application is not permitted to perform this operation by RecordingRequest specific security attributes.
java.lang.SecurityException - if the calling application does not have RecordingPermission("cancel",..) or RecordingPermission("*",..)
java.lang.IllegalStateException - if the stateof the recording is not in PENDING_NO_CONFLICT_STATE or PENDING_WITH_CONFLICT_STATE.

stop

void stop()
          throws java.lang.IllegalStateException,
                 AccessDeniedException
Stops the recording for an in-progress recording request regardless of how much of the duration has been recorded. Moves the recording to the INCOMPLETE_STATE.

Throws:
AccessDeniedException - if the calling application is not permitted to perform this operation by RecordingRequest specific security attributes.
java.lang.SecurityException - if the calling application does not have RecordingPermission("cancel",..) or RecordingPermission("*",..)
java.lang.IllegalStateException - if the recording is not in the IN_PROGRESS_STATE, or IN_PROGRESS_INSUFFICIENT_SPACE_STATE or IN_PROGRESS_WITH_ERROR_STATE, or IN_PROGRESS_INCOMPLETE_STATE..

getFailedException

java.lang.Exception getFailedException()
                                       throws java.lang.IllegalStateException
Gets the exception that caused the recording request to enter the FAILED_STATE, or INCOMPLETE_STATE or IN_PROGRESS_WITH_ERROR_STATE, or IN_PROGRESS_INCOMPLETE_STATE.

Returns:
The exception that caused the failure. The exception returned will be a RecordingFailedException.
Throws:
java.lang.IllegalStateException - if the recording request is not in the FAILED_STATE or INCOMPLETE_STATE or IN_PROGRESS_WITH_ERROR_STATE, or IN_PROGRESS_INCOMPLETE_STATE.

getService

SegmentedRecordedService getService()
                                    throws java.lang.IllegalStateException,
                                           AccessDeniedException
Returns the SegmentedRecordedService corresponding to the recording request.

Returns:
The recorded service associated with the recording request.
Throws:
java.lang.IllegalStateException - if the recording request is not in INCOMPLETE_STATE, IN_PROGRESS_STATE, IN_PROGRESS_INSUFFICIENT_SPACE_STATE, IN_PROGRESS_WITH_ERROR_STATE, IN_PROGRESS_INCOMPLETE_STATE, or COMPLETED_STATE.
AccessDeniedException - if the calling application is not permitted to perform this operation by RecordingRequest specific security attributes.

getDeletionDetails

DeletionDetails getDeletionDetails()
                                   throws java.lang.IllegalStateException
Gets detailed information about the deletion of the recorded service corresponding to this recording request.

Returns:
The deletion details for this recording request.
Throws:
java.lang.IllegalStateException - if the recording request is not in the DELETED_STATE.