OSID Logo
OSID Specifications
osid package
Version 3.0.0
Release Candidate Preview
Interfaceosid.OsidProxyManager
Implementsosid.OsidProfile
Description

The OsidProxyManager is the top level interface for all OSID proxy managers. A proxy manager accepts parameters to pass through end-user authentication credentials and other necessary request parameters in a server environment. Native applications should use an OsidManager to maintain a higher degree of interoperability by avoiding this coupling.

An OSID proxy manager is instantiated through the OsidRuntimeManager and represents an instance of a service. An OSID manager is responsible for defining clusters of interoperability within a service and creating sessions that generally correspond to these clusters, An application need only create a single OsidProxyManager per service and implementors must ensure the OsidProxyManager is thread-safe . The OsidSessions spawned from an OSID manager are dedicated to single processing threads. The OsidProxyManager defines methods in common throughout all OSID managers which implement this interface.

Methodinitialize
Description

Initializes this manager. A manager is initialized once at the time of creation.

Parametersosid.OsidRuntimeManagerruntimethe runtime environment
ErrorsCONFIGURATION_ERRORan error with implementation configuration
ILLEGAL_STATEthis manager has already been initialized by the OsidRuntime
NULL_ARGUMENT runtime is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
Provider Notes

In addition to loading its runtime configuration an implementation may create shared resources such as connection pools to be shared among all sessions of this service and released when this manager is closed. Providers must thread-protect any data stored in the manager.

To maximize interoperability, providers should not honor a second call to initialize() and must set an ILLEGAL_STATE error.

MethodrollbackService
Description

Rolls back this service to a point in time.

ParameterstimestamprollbackTimethe requested time
osid.proxy.Proxyproxya proxy
Returnosid.journaling.JournalEntrythe journal entry corresponding to the actual state of this service
ErrorsNULL_ARGUMENT proxy is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNIMPLEMENTED supportsJournalRollback() is false
CompliancemandatoryThis method must be implemented.
MethodchangeBranch
Description

Changes the service branch.

Parametersosid.id.IdbranchIdthe new service branch
osid.proxy.Proxyproxya proxy
ErrorsNOT_FOUND branchId not found
NULL_ARGUMENT branchId or proxy is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure occurred
UNIMPLEMENTED supportsJournalBranching() is false
CompliancemandatoryThis method must be implemented.