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.