Interface ScheduleSlotQuerySession

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

public interface ScheduleSlotQuerySession extends OsidSession

This session provides methods for searching ScheduleSlot objects. The search query is constructed using the ScheduleSlotQuery . The schedule slot record Type also specifies the record for the schedule slot query.

This session defines views that offer differing behaviors for searching.

  • federated calendar view: searches include schedule slots in calendars of which this calendar is an ancestor in the calendar hierarchy
  • isolated calendar view: searches are restricted to schedule slots in this calendar
  • sequestered schedule slot viiew: All schedule slot methods suppress sequestered schedule slots.
  • unsequestered schedule slot view: All schedule slot methods return all schedule slots.

Schedule slots may have a query record indicated by their respective record types. The query record is accessed via the ScheduleSlotQuery .

  • Method Details

    • getCalendarId

      Id getCalendarId()
      Gets the Calendar Id associated with this session.
      Returns:
      the Calendar Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCalendar

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

      boolean canSearchScheduleSlots()
      Tests if this user can perform ScheduleSlots 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.
    • useFederatedCalendarView

      void useFederatedCalendarView()
      Federates the view for methods in this session. A federated view will include schedules in calendars which are children of this calendar in the calendar hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCalendarView

      void useIsolatedCalendarView()
      Isolates the view for methods in this session. An isolated view restricts searches to this calendar only.
      Compliance:
      mandatory - This method is must be implemented.
    • useSequesteredScheduleSlotView

      void useSequesteredScheduleSlotView()
      The returns from the search methods omit sequestered schedule slots.
      Compliance:
      mandatory - This method is must be implemented.
    • useUnsequesteredScheduleSlotView

      void useUnsequesteredScheduleSlotView()
      All schedule slots are returned including sequestered schedule slots.
      Compliance:
      mandatory - This method is must be implemented.
    • getScheduleSlotQuery

      ScheduleSlotQuery getScheduleSlotQuery()
      Gets a schedule slot query.
      Returns:
      the schedule slot query
      Compliance:
      mandatory - This method must be implemented.
    • getScheduleSlotsByQuery

      ScheduleSlotList getScheduleSlotsByQuery(ScheduleSlotQuery scheduleSlotQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of ScheduleSlots matching the given schedule slot query.
      Parameters:
      scheduleSlotQuery - the schedule slot query
      Returns:
      the returned ScheduleSlotList
      Throws:
      NullArgumentException - scheduleSlotQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - scheduleSlotQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.