Interface RaceSmartPollsSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RaceSmartPollsSession extends OsidSession

This session manages queries and sequencing to create "smart" dynamic catalogs. A RaceQuery can be retrieved from this session and mapped to this Polls to create a virtual collection of Races . The entries may be sequenced using the RaceSearchOrder from this session.

This Polls has a default query that matches any race and a default search order that specifies no sequencing. The queries may be examined using a RaceQueryInspector . The query may be modified by converting the inspector back to a RaceQuery .

  • Method Details

    • getPollsId

      Id getPollsId()
      Gets the Polls Id associated with this session.
      Returns:
      the Polls Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getPolls

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

      boolean canManageSmartPolls()
      Tests if this user can manage smart polls. 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 smart operations.
      Returns:
      false if smart polls methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getRaceQuery

      RaceQuery getRaceQuery()
      Gets a race query.
      Returns:
      the race query
      Compliance:
      mandatory - This method must be implemented.
    • getRaceSearchOrder

      RaceSearchOrder getRaceSearchOrder()
      Gets a race search order.
      Returns:
      the race search order
      Compliance:
      mandatory - This method must be implemented.
    • applyRaceQuery

      void applyRaceQuery(RaceQuery raceQuery) throws OperationFailedException, PermissionDeniedException
      Applies a race query to this polls.
      Parameters:
      raceQuery - the race query
      Throws:
      NullArgumentException - raceQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - raceQuery not of this service
      Compliance:
      mandatory - This method must be implemented.
    • inspectRaceQuery

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

      void applyRaceSequencing(RaceSearchOrder raceSearchOrder) throws OperationFailedException, PermissionDeniedException
      Applies a race search order to this polls.
      Parameters:
      raceSearchOrder - the race search order
      Throws:
      NullArgumentException - raceSearchOrder is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      UnsupportedException - raceSearchOrder not of this service
      Compliance:
      mandatory - This method must be implemented.
    • getRaceQueryFromInspector

      RaceQuery getRaceQueryFromInspector(RaceQueryInspector raceQueryInspector)
      Gets a race query from an inspector.
      Parameters:
      raceQueryInspector - a race query inspector
      Returns:
      the race query
      Throws:
      NullArgumentException - raceQueryInspector is null
      UnsupportedException - raceQueryInspector is not of this service
      Compliance:
      mandatory - This method must be implemented.