Interface MessageQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
MessageSearchSession

public interface MessageQuerySession extends OsidSession

This session provides methods for searching among Message objects. The search query is constructed using the MessageQuery .

This session defines views that offer differing behaviors for searching.

  • federated mailbox view: searches include messages in mailboxes of which this mailbox is a ancestor in the mailbox hierarchy
  • isolated mailbox view: searches are restricted to messages in this mailbox

Messages may have a query record indicated by their respective record types. The query record is accessed via the MessageQuery .

  • Method Details

    • getMailboxId

      Id getMailboxId()
      Gets the Mailbox Id associated with this session.
      Returns:
      the Mailbox Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getMailbox

      Gets the Mailbox associated with this session.
      Returns:
      the Mailbox associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchMessages

      boolean canSearchMessages()
      Tests if this user can perform Message searches. A return of true does not guarantee successful authorization. A return of false indicates that it is known all 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 search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedMailboxView

      void useFederatedMailboxView()
      Federates the view for methods in this session. A federated view will include messages in mailboxes which are children of this mailbox in the mailbox hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedMailboxView

      void useIsolatedMailboxView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this mailbox only.
      Compliance:
      mandatory - This method is must be implemented.
    • getMessageQuery

      MessageQuery getMessageQuery()
      Gets a message query. The returned query will not have an extension query.
      Returns:
      the message query
      Compliance:
      mandatory - This method must be implemented.
    • getMessagesByQuery

      Gets a list of Messages matching the given message query.
      Parameters:
      messageQuery - the message query
      Returns:
      the returned MessageList
      Throws:
      NullArgumentException - messageQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - messageQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.