Interface ScheduleQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, Suppliable

public interface ScheduleQuery extends OsidObjectQuery

This is the query for searching schedules. Each method match request produces an AND term while multiple invocations of a method produces a nested OR .

  • Method Details

    • matchScheduleSlotId

      void matchScheduleSlotId(Id scheduleSlotId, boolean match)
      Sets the schedule Id for this query for matching nested schedule slots.
      Parameters:
      scheduleSlotId - a schedule slot Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - scheduleSlotId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleSlotIdTerms

      void clearScheduleSlotIdTerms()
      Clears the schedule slot Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsScheduleSlotQuery

      boolean supportsScheduleSlotQuery()
      Tests if a ScheduleSlotQuery is available for querying sechedule slots.
      Returns:
      true if a schedule slot query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getScheduleSlotQuery

      ScheduleSlotQuery getScheduleSlotQuery()
      Gets the query for a schedul slot. Multiple retrievals produce a nested OR term.
      Returns:
      the schedule slot query
      Throws:
      UnimplementedException - supportsScheduleSlotQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsScheduleSlotQuery()} is {@code true} .
    • matchAnyScheduleSlot

      void matchAnyScheduleSlot(boolean match)
      Matches a schedule that has any schedule slot assigned.
      Parameters:
      match - true to match schedule with any schedule slots, false to match schedules with no schedule slots
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleSlotTerms

      void clearScheduleSlotTerms()
      Clears the schedule slot terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchTimePeriodId

      void matchTimePeriodId(Id timePeriodId, boolean match)
      Sets the time period Id for this query.
      Parameters:
      timePeriodId - a time period Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - timePeriodId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearTimePeriodIdTerms

      void clearTimePeriodIdTerms()
      Clears the time period Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsTimePeriodQuery

      boolean supportsTimePeriodQuery()
      Tests if a TimePeriodQuery is available.
      Returns:
      true if a time period query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getTimePeriodQuery

      TimePeriodQuery getTimePeriodQuery()
      Gets the query for a time period. Multiple retrievals produce a nested OR term.
      Returns:
      the time period query
      Throws:
      UnimplementedException - supportsTimePeriodQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsTimePeriodQuery()} is {@code true} .
    • matchAnyTimePeriod

      void matchAnyTimePeriod(boolean match)
      Matches a schedule that has any time period assigned.
      Parameters:
      match - true to match schedules with any time periods, false to match schedules with no time periods
      Compliance:
      mandatory - This method must be implemented.
    • clearTimePeriodTerms

      void clearTimePeriodTerms()
      Clears the time period terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchScheduleStart

      void matchScheduleStart(DateTime low, DateTime high, boolean match)
      Matches the schedule start time between the given range inclusive.
      Parameters:
      low - low time range
      high - high time range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      NullArgumentException - high or low is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyScheduleStart

      void matchAnyScheduleStart(boolean match)
      Matches a schedule that has any start time assigned.
      Parameters:
      match - true to match schedules with any start time, false to match schedules with no start time
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleStartTerms

      void clearScheduleStartTerms()
      Clears the schedule start terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchScheduleEnd

      void matchScheduleEnd(DateTime low, DateTime high, boolean match)
      Matches the schedule end time between the given range inclusive.
      Parameters:
      low - low time range
      high - high time range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      NullArgumentException - high or low is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyScheduleEnd

      void matchAnyScheduleEnd(boolean match)
      Matches a schedule that has any end time assigned.
      Parameters:
      match - true to match schedules with any end time, false to match schedules with no start time
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleEndTerms

      void clearScheduleEndTerms()
      Clears the schedule end terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchScheduleTime

      void matchScheduleTime(DateTime date, boolean match)
      Matches schedules with start and end times between the given range inclusive.
      Parameters:
      date - a date
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - date is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyScheduleTime

      void matchAnyScheduleTime(boolean match)
      Matches schedules that has any time assigned.
      Parameters:
      match - true to match schedules with any time, false to match schedules with no time
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleTimeTerms

      void clearScheduleTimeTerms()
      Clears the schedule time terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchScheduleTimeInclusive

      void matchScheduleTimeInclusive(DateTime start, DateTime end, boolean match)
      Matches schedules with start and end times between the given range inclusive.
      Parameters:
      start - start date
      end - end date
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - end is less than start
      NullArgumentException - end or start is null
      Compliance:
      mandatory - This method must be implemented.
    • clearScheduleTimeInclusiveTerms

      void clearScheduleTimeInclusiveTerms()
      Clears the schedule time inclusive terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchLimit

      void matchLimit(long from, long to, boolean match)
      Matches schedules that have the given limit in the given range inclusive.
      Parameters:
      from - start range
      to - end range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyLimit

      void matchAnyLimit(boolean match)
      Matches schedules with any occurrence limit.
      Parameters:
      match - true to match schedules with any limit, to match schedules with no limit
      Compliance:
      mandatory - This method must be implemented.
    • clearLimitTerms

      void clearLimitTerms()
      Clears the limit terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchLocationDescription

      void matchLocationDescription(String location, Type stringMatchType, boolean match)
      Matches the location description string.
      Parameters:
      location - location string
      stringMatchType - string match type
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - location is not of stringMatchType
      NullArgumentException - location or stringMatchType is null
      UnsupportedException - supportsStringMatchType(stringMatchType) is false
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyLocationDescription

      void matchAnyLocationDescription(boolean match)
      Matches a schedule that has any location description assigned.
      Parameters:
      match - true to match schedules with any location description, false to match schedules with no location description
      Compliance:
      mandatory - This method must be implemented.
    • clearLocationDescriptionTerms

      void clearLocationDescriptionTerms()
      Clears the location description terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchLocationId

      void matchLocationId(Id locationId, boolean match)
      Sets the location Id for this query.
      Parameters:
      locationId - a location Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - locationId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearLocationIdTerms

      void clearLocationIdTerms()
      Clears the location Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsLocationQuery

      boolean supportsLocationQuery()
      Tests if a LocationQuery is available for querying locations.
      Returns:
      true if a location query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getLocationQuery

      LocationQuery getLocationQuery()
      Gets the query for a location. Multiple retrievals produce a nested OR term.
      Returns:
      the location query
      Throws:
      UnimplementedException - supportsLocationQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsLocationQuery()} is {@code true} .
    • matchAnyLocation

      void matchAnyLocation(boolean match)
      Matches a schedule that has any location assigned.
      Parameters:
      match - true to match schedules with any location, false to match schedules with no location
      Compliance:
      mandatory - This method must be implemented.
    • clearLocationTerms

      void clearLocationTerms()
      Clears the location terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchTotalDuration

      void matchTotalDuration(Duration low, Duration high, boolean match)
      Matches the total duration between the given range inclusive.
      Parameters:
      low - low duration range
      high - high duration range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      NullArgumentException - high or low is null
      Compliance:
      mandatory - This method must be implemented.
    • clearTotalDurationTerms

      void clearTotalDurationTerms()
      Clears the total duration terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchCalendarId

      void matchCalendarId(Id calendarId, boolean match)
      Sets the calendar Id for this query.
      Parameters:
      calendarId - a calendar Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - calendarId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearCalendarIdTerms

      void clearCalendarIdTerms()
      Clears the calendar Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsCalendarQuery

      boolean supportsCalendarQuery()
      Tests if a CalendarQuery is available for querying calendars.
      Returns:
      true if a calendar query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCalendarQuery

      CalendarQuery getCalendarQuery()
      Gets the query for a calendar. Multiple retrievals produce a nested OR term.
      Returns:
      the calendar query
      Throws:
      UnimplementedException - supportsCalendarQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsCalendarQuery()} is {@code true} .
    • clearCalendarTerms

      void clearCalendarTerms()
      Clears the calendar terms.
      Compliance:
      mandatory - This method must be implemented.
    • getScheduleQueryRecord

      ScheduleQueryRecord getScheduleQueryRecord(Type scheduleRecordType) throws OperationFailedException
      Gets the schedule query record corresponding to the given Schedule record Type .Multiple retrievals produce a nested OR term.
      Parameters:
      scheduleRecordType - a schedule query record type
      Returns:
      the schedule query record
      Throws:
      NullArgumentException - scheduleRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(scheduleRecordType) is false
      Compliance:
      mandatory - This method must be implemented.