Interface ControllerQuery

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

public interface ControllerQuery extends OsidObjectQuery, OsidOperableQuery

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

  • Method Details

    • matchAddress

      void matchAddress(String address, Type stringMatchType, boolean match)
      Mathes an address.
      Parameters:
      address - an address
      stringMatchType - a string match type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - address or stringMatchType is null
      UnsupportedException - supportsStringMatchType(stringMatchType) is false
      Compliance:
      mandatory - This method must be implemented.
    • clearAddressTerms

      void clearAddressTerms()
      Clears the address query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchModelId

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

      void clearModelIdTerms()
      Clears the model Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsModelQuery

      boolean supportsModelQuery()
      Tests if a ModelQuery is available.
      Returns:
      true if a model query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getModelQuery

      ModelQuery getModelQuery()
      Gets the query for a Model . Multiple retrievals produce a nested OR term.
      Returns:
      the model query
      Throws:
      UnimplementedException - supportsModelQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsModelQuery()} is {@code true} .
    • matchAnyModel

      void matchAnyModel(boolean match)
      Matches any models.
      Parameters:
      match - true to match controllers with models, false to match controllers with no model defined
      Compliance:
      mandatory - This method must be implemented.
    • clearModelTerms

      void clearModelTerms()
      Clears the model query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVersion

      void matchVersion(Version version, boolean match)
      Sets the version for this query.
      Parameters:
      version - the version
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - version is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyVersion

      void matchAnyVersion(boolean match)
      Matches controllers with any version.
      Parameters:
      match - true to match controllers with versions, false to match controllers with no version defined
      Compliance:
      mandatory - This method must be implemented.
    • clearVersionTerms

      void clearVersionTerms()
      Clears the version query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVersionSince

      void matchVersionSince(Version version, boolean match)
      Matches controllers with versions including and more recent than the given version.
      Parameters:
      version - the version
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - version is null
      Compliance:
      mandatory - This method must be implemented.
    • clearVersionSinceTerms

      void clearVersionSinceTerms()
      Clears the version since query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchToggleable

      void matchToggleable(boolean match)
      Matches toggleable controllers.
      Parameters:
      match - true for a positive match, false for a negative match
      Compliance:
      mandatory - This method must be implemented.
    • clearToggleableTerms

      void clearToggleableTerms()
      Clears the toggleable query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVariable

      void matchVariable(boolean match)
      Matches variable controllers.
      Parameters:
      match - true for a positive match, false for a negative match
      Compliance:
      mandatory - This method must be implemented.
    • clearVariableTerms

      void clearVariableTerms()
      Clears the variable query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVariableByPercentage

      void matchVariableByPercentage(boolean match)
      Matches variable by percentage controllers.
      Parameters:
      match - true for a positive match, false for a negative match
      Compliance:
      mandatory - This method must be implemented.
    • clearVariableByPercentageTerms

      void clearVariableByPercentageTerms()
      Clears the variable query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVariableMinimum

      void matchVariableMinimum(BigDecimal start, BigDecimal end, boolean match)
      Matches variable minimums 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.
    • matchAnyVariableMinimum

      void matchAnyVariableMinimum(boolean match)
      Matches any variable minimums.
      Parameters:
      match - true to match controllers with variable minimums, false to match controllers with no variable minimums
      Compliance:
      mandatory - This method must be implemented.
    • clearVariableMinimumTerms

      void clearVariableMinimumTerms()
      Clears the variable minimum query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchVariableMaximum

      void matchVariableMaximum(BigDecimal start, BigDecimal end, boolean match)
      Matches variable maximums 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.
    • matchAnyVariableMaximum

      void matchAnyVariableMaximum(boolean match)
      Matches any variable maximums.
      Parameters:
      match - true to match controllers with variable maximums, false to match controllers with no variable maximums
      Compliance:
      mandatory - This method must be implemented.
    • clearVariableMaximumTerms

      void clearVariableMaximumTerms()
      Clears the variable maximum query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDiscreetStates

      void matchDiscreetStates(boolean match)
      Matches discreet states controllers.
      Parameters:
      match - true for a positive match, false for a negative match
      Compliance:
      mandatory - This method must be implemented.
    • clearDiscreetStatesTerms

      void clearDiscreetStatesTerms()
      Clears the discreet states query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDiscreetStateId

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

      void clearDiscreetStateIdTerms()
      Clears the state Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDiscreetStateQuery

      boolean supportsDiscreetStateQuery()
      Tests if a StateQuery is available.
      Returns:
      true if a state query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDiscreetStateQuery

      StateQuery getDiscreetStateQuery()
      Gets the query for a State . Multiple retrievals produce a nested OR term.
      Returns:
      the state query
      Throws:
      UnimplementedException - supportsDiscreetStateQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDiscreetStateQuery()} is {@code true} .
    • matchAnyDiscreetState

      void matchAnyDiscreetState(boolean match)
      Matches any discreet states.
      Parameters:
      match - true to match controllers with discreet states, false to match controllers with no discreet states
      Compliance:
      mandatory - This method must be implemented.
    • clearDiscreetStateTerms

      void clearDiscreetStateTerms()
      Clears the state query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchSystemId

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

      void clearSystemIdTerms()
      Clears the system Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsSystemQuery

      boolean supportsSystemQuery()
      Tests if a SystemQuery is available.
      Returns:
      true if a system query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSystemQuery

      SystemQuery getSystemQuery()
      Gets the query for a system. Multiple retrievals produce a nested OR term.
      Returns:
      the system query
      Throws:
      UnimplementedException - supportsSystemQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsSystemQuery()} is {@code true} .
    • clearSystemTerms

      void clearSystemTerms()
      Clears the system query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getControllerQueryRecord

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