OSID Logo
OSID Specifications
messaging package
Version 3.0.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.

Returnbooleanfalse if mapping is not authorized, true otherwise
CompliancemandatoryThis 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.IdmailboxIdthe Id of the Mailbox
Returnbooleanfalse if messaging is not authorized, true otherwise
ErrorsNULL_ARGUMENTmailboxId is null
CompliancemandatoryThis 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.IdmailboxIdthe Id of the Mailbox
Returnosid.id.IdListlist of assignable mailbox Ids
ErrorsNULL_ARGUMENTmailboxId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis 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.IdmailboxIdthe Id of the Mailbox
osid.id.IdmessageIdthe Id of the Message
Returnosid.id.IdListlist of assignable mailbox Ids
ErrorsNULL_ARGUMENTmailboxId or messageId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignMessageToMailbox
Description

Adds an existing Message to a Mailbox .

Parametersosid.id.IdmessageIdthe Id of the Message
osid.id.IdmailboxIdthe Id of the Mailbox
ErrorsALREADY_EXISTSmessageId is already assigned to mailboxId
NOT_FOUNDmessageId or mailboxId not found
NULL_ARGUMENTmessageId or mailboxId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignMessageFromMailbox
Description

Removes a Message from a Mailbox .

Parametersosid.id.IdmessageIdthe Id of the Message
osid.id.IdmailboxIdthe Id of the Mailbox
ErrorsNOT_FOUNDmessageId or mailboxId or messageId not assigned to mailboxId
NULL_ARGUMENTmessageId or mailboxId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignCreditToMailbox
Description

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

Parametersosid.id.IdmessageIdthe Id of the Message
osid.id.IdfromMailboxIdthe Id of the current Mailbox
osid.id.IdtoMailboxIdthe Id of the destination Mailbox
ErrorsALREADY_EXISTSmessageId already assigned to mailboxId
NOT_FOUNDmessageId, fromMailboxId , or toMailboxId not found or messageId not mapped to fromMailboxId
NULL_ARGUMENTmessageId, fromMailboxId , or toMailboxId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.