Interface ScheduleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ScheduleLookupSession extends OsidSession

This session provides methods for retrieving Schedules .

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated calendar view: All schedule methods in this session operate, retrieve and pertain to schedule defined explicitly in the current calendar. Using an isolated view is useful for managing schedule with the ScheduleAdminSession .
  • federated calendar view: All schedule methods in this session operate, retrieve and pertain to all schedule defined in this calendar and any other calendars implicitly available in this calendar through calendar inheritence.
Schedules may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Schedule .
  • 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.
    • canLookupSchedules

      boolean canLookupSchedules()
      Tests if this user can perform Schedule lookups. 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 lookup operations to unauthorized users.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeScheduleView

      void useComparativeScheduleView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryScheduleView

      void usePlenaryScheduleView()
      A complete view of the Schedule returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is 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 lookups to this calendar only.
      Compliance:
      mandatory - This method is must be implemented.
    • getSchedule

      Gets the Schedule specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Schedule may have a different Id than requested, such as the case where a duplicate Id was assigned to a Schedule and retained for compatibility.
      Parameters:
      scheduleId - Id of the Schedule
      Returns:
      the schedule
      Throws:
      NotFoundException - scheduleId not found
      NullArgumentException - scheduleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getSchedulesByIds

      Gets a ScheduleList corresponding to the given IdList . In plenary mode, the returned list contains all of the schedule specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Schedules may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      scheduleIds - the list of Ids to retrieve
      Returns:
      the returned Schedule list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - scheduleIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByGenusType

      ScheduleList getSchedulesByGenusType(Type scheduleGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ScheduleList corresponding to the given schedule genus Type which does not include schedule of genus types derived from the specified Type .In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      scheduleGenusType - a schedule genus type
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - scheduleGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByParentGenusType

      ScheduleList getSchedulesByParentGenusType(Type scheduleGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ScheduleList corresponding to the given schedule genus Type and include any additional schedule with genus types derived from the specified Type .In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      scheduleGenusType - a schedule genus type
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - scheduleGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByRecordType

      ScheduleList getSchedulesByRecordType(Type scheduleRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a ScheduleList containing the given schedule record Type . In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      scheduleRecordType - a schedule record type
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - scheduleRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByScheduleSlot

      ScheduleList getSchedulesByScheduleSlot(Id scheduleSlotId) throws OperationFailedException, PermissionDeniedException
      Gets a ScheduleList directly containing the given shedule slot. In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      scheduleSlotId - a schedule slot Id
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - scheduleSlotId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByLocation

      ScheduleList getSchedulesByLocation(Id locationId) throws OperationFailedException, PermissionDeniedException
      Gets a ScheduleList containing the given location. In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      locationId - a location Id
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - locationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByDate

      Gets a ScheduleList containing the given date. In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      date - a date
      Returns:
      the returned Schedule list
      Throws:
      NullArgumentException - date is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedulesByDateRange

      Gets a ScheduleList contained by the given date range inclusive. In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned Schedule list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getSchedules

      Gets all Schedules . In plenary mode, the returned list contains all known schedule or an error results. Otherwise, the returned list may contain only those schedule that are accessible through this session.
      Returns:
      a ScheduleList
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.