OSID Logo
OSID Specifications
messaging package
Version 3.1.0
Interfaceosid.messaging.MessageMailboxAssignmentSession
Implementsosid.OsidSession
Used Byosid.messaging.MessagingManager
osid.messaging.MessagingProxyManager
Description

This session provides methods to re-assign Messages to Mailboxes. A Message may map to multiple Mailbox objects and removing the last reference to a Message is the equivalent of deleting it. Each Mailbox may have its own authorizations governing who is allowed to operate on it.

Moving or adding a reference of a Message to another Mailbox is not a copy operation (eg: does not change its Id).

MethodcanAssignMessages
Description

Tests if this user can alter message/mailbox mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignMessagesToMailbox
Description

Tests if this user can alter message/mailbox mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdmailboxId the Id of the Mailbox
Returnboolean false if messaging is not authorized, true otherwise
ErrorsNULL_ARGUMENT mailboxId is null
Compliancemandatory This method must be implemented.
MethodgetAssignableMailboxIds
Description

Gets a list of mailboxes including and under the given mailbox node in which any message can be assigned.

Parametersosid.id.IdmailboxId the Id of the Mailbox
Returnosid.id.IdList list of assignable mailbox Ids
ErrorsNULL_ARGUMENT mailboxId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignableMailboxIdsForMessage
Description

Gets a list of mailboxes including and under the given mailbox node in which a specific message can be assigned.

Parametersosid.id.IdmailboxId the Id of the Mailbox
osid.id.IdmessageId the Id of the Message
Returnosid.id.IdList list of assignable mailbox Ids
ErrorsNULL_ARGUMENT mailboxId or messageId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignMessageToMailbox
Description

Adds an existing Message to a Mailbox.

Parametersosid.id.IdmessageId the Id of the Message
osid.id.IdmailboxId the Id of the Mailbox
ErrorsALREADY_EXISTS messageId is already assigned to mailboxId
NOT_FOUND messageId or mailboxId not found
NULL_ARGUMENT messageId or mailboxId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignMessageFromMailbox
Description

Removes a Message from a Mailbox.

Parametersosid.id.IdmessageId the Id of the Message
osid.id.IdmailboxId the Id of the Mailbox
ErrorsNOT_FOUND messageId or mailboxId or messageId not assigned to mailboxId
NULL_ARGUMENT messageId or mailboxId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignCreditToMailbox
Description

Moves a Message from one Mailbox to another. Mappings to other Mailboxes are unaffected.

Parametersosid.id.IdmessageId the Id of the Message
osid.id.IdfromMailboxId the Id of the current Mailbox
osid.id.IdtoMailboxId the Id of the destination Mailbox
ErrorsALREADY_EXISTS messageId already assigned to mailboxId
NOT_FOUND messageId, fromMailboxId, or toMailboxId not found or messageId not mapped to fromMailboxId
NULL_ARGUMENT messageId, fromMailboxId, or toMailboxId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.