OSID Logo
OSID Specifications
provisioning package
Version 3.0.0
Release Candidate Preview
Interfaceosid.provisioning.ExchangeSession
Implementsosid.OsidSession
Description

This session exchanges an existing provision for a request for another provision via the queue. The data for create and update is provided via the RequestForm.

MethodgetQueueId
Description

Gets the Queue Id associated with this session.

Returnosid.id.Idthe Queue Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetQueue
Description

Gets the Queue associated with this session.

Returnosid.provisioning.Queuethe queue
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanCreateRequestsInExchange
Description

Tests if this user can create Requests. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a Request 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.

Parametersosid.id.IdprovisionIdthe Id of the provision to exchange
Returnboolean false if Request creation is not authorized, true otherwise
ErrorsNULL_ARGUMENT provisionId is null
CompliancemandatoryThis method must be implemented.
MethodcanCreateRequestWithRecordTypesInExchange
Description

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

Parametersosid.id.IdprovisionIdthe Id of the provision to exchange
osid.type.Type[]requestRecordTypesarray of request record types
Returnboolean true if Request creation using the specified record Types is supported, false otherwise
ErrorsNULL_ARGUMENT provisionId or requestRecordTypes is null
CompliancemandatoryThis method must be implemented.
MethodgetRequestFormForCreate
Description

Gets the request form for creating new requests for the exchange. A new form should be requested for each create transaction.

Parametersosid.id.IdprovisionIdthe Id of the provision to exchange
osid.type.Type[]requestRecordTypesarray of request record types
Returnosid.provisioning.RequestFormthe request form
ErrorsNOT_FOUND provisionId is not found
NULL_ARGUMENT provisionId or requestRecordTypes is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTEDunable to get form for requested record types
CompliancemandatoryThis method must be implemented.
MethodcreateRequestInExchange
Description

Creates a new Request.

Parametersosid.provisioning.RequestFormrequestFormthe form for this Request
Returnosid.provisioning.Requestthe new Request
ErrorsILLEGAL_STATE requestForm already used in a create transaction
INVALID_ARGUMENTone or more of the form elements is invalid
NULL_ARGUMENT requestForm is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
UNSUPPORTED requestForm did not originate from getRequestFormForCreate()
CompliancemandatoryThis method must be implemented.