Interface PostSmartForumSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PostSmartForumSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A PostQuery can be retrieved from this session and mapped to this Forum to create a virtual collection of Posts . The posts may be sequenced using the PostSearchOrder from this session.

This Forum has a default query that matches any post and a default search order that specifies no sequencing. The queries may be examined using a PostQueryInspector . The query may be modified by converting the inspector back to a PostQuery .

  • Method Details

    • getForumId

      Id getForumId()
      Gets the Forum Id associated with this session.
      Returns:
      the Forum Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getForum

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

      boolean canManageSmartForums()
      Tests if this user can manage smart forums. A return of true does not guarantee successful authorization. A return of false indicates that it is known 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 operations to unauthorized users.
      Returns:
      false if smart forum management is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getPostQuery

      PostQuery getPostQuery()
      Gets a post query.
      Returns:
      the post query
      Compliance:
      mandatory - This method must be implemented.
    • getPostSearchOrder

      PostSearchOrder getPostSearchOrder()
      Gets a post search order.
      Returns:
      the post search order
      Compliance:
      mandatory - This method must be implemented.
    • applyPostQuery

      void applyPostQuery(PostQuery postQuery) throws OperationFailedException, PermissionDeniedException
      Applies a post query to this forum.
      Parameters:
      postQuery - the post query
      Throws:
      NullArgumentException - postQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - postQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectPostQuery

      Gets a post query inspector for this forum.
      Returns:
      the post query inspector
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • applyPostSequencing

      void applyPostSequencing(PostSearchOrder postSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a post search order to this forum.
      Parameters:
      postSearchOrder - the post search order
      Throws:
      NullArgumentException - postSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - postSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getPostQueryFromInspector

      PostQuery getPostQueryFromInspector(PostQueryInspector postQueryInspector)
      Gets a post query from an inspector.
      Parameters:
      postQueryInspector - a query inspector
      Returns:
      the post query
      Throws:
      NullArgumentException - postQueryInspector is null
      UnsupportedException - postQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.