Interface ActionQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidOperableQuery, OsidQuery, OsidRuleQuery, OsidSubjugateableQuery, Suppliable

public interface ActionQuery extends OsidRuleQuery, OsidSubjugateableQuery

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

  • Method Details

    • matchActionGroupId

      void matchActionGroupId(Id actionGroupId, boolean match)
      Sets the action group Id for this query.
      Parameters:
      actionGroupId - an action group Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - actionGroupId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearActionGroupIdTerms

      void clearActionGroupIdTerms()
      Clears the action group Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsActionGroupQuery

      boolean supportsActionGroupQuery()
      Tests if an ActionGroupQuery is available.
      Returns:
      true if an action group query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getActionGroupQuery

      ActionGroupQuery getActionGroupQuery()
      Gets the query for an action group. Multiple retrievals produce a nested OR term.
      Returns:
      the action group query
      Throws:
      UnimplementedException - supportsActionGroupQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsActionGroupQuery()} is {@code true} .
    • clearActionGroupTerms

      void clearActionGroupTerms()
      Clears the action group query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDelay

      void matchDelay(Duration start, Duration end, boolean match)
      Matches delays between the given range inclusive.
      Parameters:
      start - start of range
      end - end of range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - start is greater than end
      NullArgumentException - start or end is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyDelay

      void matchAnyDelay(boolean match)
      Matches any delay.
      Parameters:
      match - true to match actions with delays, false to match actions with no delays
      Compliance:
      mandatory - This method must be implemented.
    • clearDelayTerms

      void clearDelayTerms()
      Clears the delay query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchBlocking

      void matchBlocking(boolean match)
      Matches blocking actions.
      Parameters:
      match - true to match blocking actions, false to match unblocking actions
      Compliance:
      mandatory - This method must be implemented.
    • clearBlockingTerms

      void clearBlockingTerms()
      Clears the blocking query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchNextActionGroupId

      void matchNextActionGroupId(Id actionGroupId, boolean match)
      Sets the executed action group Id for this query.
      Parameters:
      actionGroupId - an action group Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - actionGroupId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearNextActionGroupIdTerms

      void clearNextActionGroupIdTerms()
      Clears the executed action group Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsNextActionGroupQuery

      boolean supportsNextActionGroupQuery()
      Tests if an ActionGroupQuery is available.
      Returns:
      true if an action group query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getNextActionGroupQuery

      ActionGroupQuery getNextActionGroupQuery()
      Gets the query for the action group to execute. Multiple retrievals produce a nested OR term.
      Returns:
      the action group query
      Throws:
      UnimplementedException - supportsNextActionGroupQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsNextActionGroupQuery()} is {@code true} .
    • matchAnyNextActionGroup

      void matchAnyNextActionGroup(boolean match)
      Matches actions with any executable action group.
      Parameters:
      match - true to match actions with any action group, false to match actions with no action groups
      Compliance:
      mandatory - This method must be implemented.
    • clearNextActionGroupTerms

      void clearNextActionGroupTerms()
      Clears the action group query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchSceneId

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

      void clearSceneIdTerms()
      Clears the scene Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsSceneQuery

      boolean supportsSceneQuery()
      Tests if a SceneQuery is available.
      Returns:
      true if a scene query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSceneQuery

      SceneQuery getSceneQuery()
      Gets the query for a scene. Multiple retrievals produce a nested OR term.
      Returns:
      the scene query
      Throws:
      UnimplementedException - supportsSceneQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsSceneQuery()} is {@code true} .
    • matchAnyScene

      void matchAnyScene(boolean match)
      Matches actions with any scene.
      Parameters:
      match - true to match actions with any scene, false to match actions with no scene
      Compliance:
      mandatory - This method must be implemented.
    • clearSceneTerms

      void clearSceneTerms()
      Clears the scene query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchSettingId

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

      void clearSettingIdTerms()
      Clears the setting Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsSettingQuery

      boolean supportsSettingQuery()
      Tests if a SettingQuery is available.
      Returns:
      true if a setting query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSettingQuery

      SettingQuery getSettingQuery()
      Gets the query for a setting. Multiple retrievals produce a nested OR term.
      Returns:
      the setting query
      Throws:
      UnimplementedException - supportsSettingQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsSettingQuery()} is {@code true} .
    • matchAnySetting

      void matchAnySetting(boolean match)
      Matches actions with any setting.
      Parameters:
      match - true to match actions with any setting, false to match actions with no setting
      Compliance:
      mandatory - This method must be implemented.
    • clearSettingTerms

      void clearSettingTerms()
      Clears the setting query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getActionQueryRecord

      ActionQueryRecord getActionQueryRecord(Type actionRecordType) throws OperationFailedException
      Gets the action query record corresponding to the given Action record Type .Multiple record retrievals produce a nested OR term.
      Parameters:
      actionRecordType - an action record type
      Returns:
      the action query record
      Throws:
      NullArgumentException - actionRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(actionRecordType) is false
      Compliance:
      mandatory - This method must be implemented.