Interface PeriodQuery

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

public interface PeriodQuery extends OsidObjectQuery

This is the query for searching periods. Each method match specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchDisplayLabel

      void matchDisplayLabel(String label, Type stringMatchType, boolean match)
      Adds a display label for this query.
      Parameters:
      label - label string to match
      stringMatchType - the label match type
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - label not of stringMatchType
      NullArgumentException - label or stringMatchType is null
      UnsupportedException - supportsStringMatchType(stringMatchType) is false
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyDisplayLabel

      void matchAnyDisplayLabel(boolean match)
      Matches a display label that has any value.
      Parameters:
      match - true to match customers with any label, false to match assets with no title
      Compliance:
      mandatory - This method must be implemented.
    • clearDisplayLabelTerms

      void clearDisplayLabelTerms()
      Clears the display label query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchOpenDate

      void matchOpenDate(DateTime low, DateTime high, boolean match)
      Matches the open date between the given range inclusive.
      Parameters:
      low - low date range
      high - high date range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyOpenDate

      void matchAnyOpenDate(boolean match)
      Matches a period that has any open date assigned.
      Parameters:
      match - true to match periods with any open date, false to match events with no open date
      Compliance:
      mandatory - This method must be implemented.
    • clearOpenDateTerms

      void clearOpenDateTerms()
      Clears the open date query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchCloseDate

      void matchCloseDate(DateTime low, DateTime high, boolean match)
      Matches the close date between the given range inclusive.
      Parameters:
      low - low date range
      high - high date range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyCloseDate

      void matchAnyCloseDate(boolean match)
      Matches a period that has any close date assigned.
      Parameters:
      match - true to match periods with any close date, false to match events with no close date
      Compliance:
      mandatory - This method must be implemented.
    • clearCloseDateTerms

      void clearCloseDateTerms()
      Clears the close date query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchBillingDate

      void matchBillingDate(DateTime low, DateTime high, boolean match)
      Matches the billing date between the given range inclusive.
      Parameters:
      low - low date range
      high - high date range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyBillingDate

      void matchAnyBillingDate(boolean match)
      Matches a period that has any billing date assigned.
      Parameters:
      match - true to match periods with any billing date, false to match events with no billing date
      Compliance:
      mandatory - This method must be implemented.
    • clearBillingDateTerms

      void clearBillingDateTerms()
      Clears the billing date query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDueDate

      void matchDueDate(DateTime low, DateTime high, boolean match)
      Matches the due date between the given range inclusive.
      Parameters:
      low - low date range
      high - high date range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - high is less than low
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyDueDate

      void matchAnyDueDate(boolean match)
      Matches a period that has any due date assigned.
      Parameters:
      match - true to match periods with any due date, false to match events with no due date
      Compliance:
      mandatory - This method must be implemented.
    • clearDueDateTerms

      void clearDueDateTerms()
      Clears the due date query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchBusinessId

      void matchBusinessId(Id businessId, boolean match)
      Sets the business Id for this query to match periods assigned to businesses.
      Parameters:
      businessId - the business Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - businessId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearBusinessIdTerms

      void clearBusinessIdTerms()
      Clears the business Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsBusinessQuery

      boolean supportsBusinessQuery()
      Tests if a BusinessQuery is available.
      Returns:
      true if a business query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getBusinessQuery

      BusinessQuery getBusinessQuery()
      Gets the query for a business. Multiple retrievals produce a nested OR term.
      Returns:
      the business query
      Throws:
      UnimplementedException - supportsBusinessQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsBusinessQuery()} is {@code true} .
    • clearBusinessTerms

      void clearBusinessTerms()
      Clears the business query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getPeriodQueryRecord

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