OSID Logo
OSID Specifications
mapping path package
Version 3.0.0
Release Candidate Preview
Interfaceosid.mapping.path.SignalAdminSession
Implementsosid.OsidSession
Description

This session creates, updates, and deletes Signals. The data for create and update is provided by the consumer via the form object. OsidForms are requested for each create or update and may not be reused.

Create and update operations differ in their usage. To create a Signal, a SignalForm is requested using getSignalFormForCreate() specifying the desired record Types or none if no record Types are needed. The returned SignalForm will indicate that it is to be used with a create operation and can be used to examine metdata or validate data prior to creation. Once the SignalForm is submiited to a create operation, it cannot be reused with another create operation unless the first operation was unsuccessful. Each SignalForm corresponds to an attempted transaction.

For updates, SignalForms are requested to the Signal Id that is to be updated using getSignalFormForUpdate(). Similarly, the SignalForm has metadata about the data that can be updated and it can perform validation before submitting the update. The SignalForm can only be used once for a successful update and cannot be reused.

The delete operations delete Signals. To unmap a Signal from the current Map, the SignalMapAssignmentSession should be used. These delete operations attempt to remove the Signal itself thus removing it from all known Map catalogs.

This session includes an Id aliasing mechanism to assign an external Id to an internally assigned Id.

MethodgetMapId
Description

Gets the Map Id associated with this session.

Returnosid.id.Idthe Map Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetMap
Description

Gets the Map associated with this session.

Returnosid.mapping.Mapthe map
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanCreateSignals
Description

Tests if this user can create Signals. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Signal will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.

Returnboolean false if Signal creation is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanCreateSignalWithRecordTypes
Description

Tests if this user can create a single Signal using the desired record types. While MappingPathManager.getSignalRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific Signal. Providing an empty array tests if a Signal can be created with no records.

Parametersosid.type.Type[]signalRecordTypesarray of signal record types
Returnboolean true if Signal creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT signalRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetSignalFormForCreate
Description

Gets the signal form for creating new signals. A new form should be requested for each create transaction.

Parametersosid.id.IdpathId Id of the path
osid.type.Type[]signalRecordTypesarray of signal record types
Returnosid.mapping.path.SignalFormthe signal form
ErrorsNOT_FOUND pathId is not found
NULL_ARGUMENT pathId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to get form with given record types
CompliancemandatoryThis method must be implemented.
MethodcreateSignal
Description

Creates a new Signal.

Parametersosid.mapping.path.SignalFormsignalFormthe form for this Signal
Returnosid.mapping.path.Signalthe new Signal
ErrorsILLEGAL_STATE signalForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT signalForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED signalForm did not originate from getSignalFormForCreate()
CompliancemandatoryThis method must be implemented.
MethodcanUpdateSignals
Description

Tests if this user can update Signals. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a Signal will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.

Returnboolean false if Signal modification is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodgetSignalFormForUpdate
Description

Gets the signal form for updating an existing signal. A new signal form should be requested for each update transaction.

Parametersosid.id.IdsignalIdthe Id of the Signal
Returnosid.mapping.path.SignalFormthe signal form
ErrorsNOT_FOUND signalId is not found
NULL_ARGUMENT signalId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodupdateSignal
Description

Updates an existing signal.

Parametersosid.mapping.path.SignalFormsignalFormthe form containing the elements to be updated
ErrorsILLEGAL_STATE signalForm already used in an update transaction
INVALID_ARGUMENTthe form contains an invalid value
NULL_ARGUMENT signalId or signalForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED signalForm did not originate from getSignalFormForUpdate()
CompliancemandatoryThis method must be implemented.
MethodcanDeleteSignals
Description

Tests if this user can delete Signals. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a Signal will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.

Returnboolean false if Signal deletion is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoddeleteSignal
Description

Deletes a Signal.

Parametersosid.id.IdsignalIdthe Id of the Signal to remove
ErrorsNOT_FOUND signalId not found
NULL_ARGUMENT signalId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanManageSignalAliases
Description

Tests if this user can manage Id aliases for Signals. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.

Returnboolean false if Signal aliasing is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodaliasSignal
Description

Adds an Id to a Signal for the purpose of creating compatibility. The primary Id of the Signal is determined by the provider. The new Id performs as an alias to the primary Id . If the alias is a pointer to another signal, it is reassigned to the given signal Id.

Parametersosid.id.IdsignalIdthe Id of a Signal
osid.id.IdaliasIdthe alias Id
ErrorsALREADY_EXISTS aliasId is already assigned
NOT_FOUND signalId not found
NULL_ARGUMENT signalId or aliasId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.