Interface ParameterQuery

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

public interface ParameterQuery extends OsidRuleQuery

The ParameterQuery is used to assemble search queries. A Parameter is available from a ParameterSearchSession and defines methods to query for a Parameter that includes setting a display name and a description. Once the desired parameters are set, the ParameterQuery is given to the designated search method. The same ParameterQuery returned from the session must be used in the search as the provider may utilize implementation-specific data wiithin the object.

If multiple data elements are set, the results matching all the given data (eg: AND ) are returned. Search methods throughout the OSIDs accept multiple OsidQuery interfaces. Each ParameterQuery in the array behaves like an OR such that results are returned that match any of the given ParameterQuery objects.

Any match method inside a ParameterQuery may be invoked multiple times. In the case of a match method, each invocation adds an element to an OR expression. Any of these terms may also be negated through the match flag.

Parameter { ParameterQuery.matchDisplayName AND (ParameterQuery.matchDescription OR Parameter.matchDescription)} OR ParameterQuery            

String searches are described using a string search Type that indicates the type of regular expression or wildcarding encoding. Compatibility with a strings search Type can be tested within this interface.

  • Method Details

    • matchValueSyntax

      void matchValueSyntax(Syntax syntax, boolean match)
      Adds a match for parameters of a given value syntax. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      syntax - the parameter value syntax
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - syntax is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueSyntaxTerms

      void clearValueSyntaxTerms()
      Clears the value syntax terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValueCoordinateType

      void matchValueCoordinateType(Type coordinateType, boolean match)
      Adds a match for parameters with a given coordinate type for a coordinate value. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      coordinateType - the coordinate type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - coordinateType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueCoordinateTypeTerms

      void clearValueCoordinateTypeTerms()
      Clears the coordinate type terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValueHeadingType

      void matchValueHeadingType(Type headingType, boolean match)
      Adds a match for parameters with a given heading type for a coordinate value. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      headingType - the heading type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - headingType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueHeadingTypeTerms

      void clearValueHeadingTypeTerms()
      Clears the coorheadingdinate record type terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValueObjectType

      void matchValueObjectType(Type objectType, boolean match)
      Adds a match for parameters with a given object type for an object value. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      objectType - the object type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - objectType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueObjectTypeTerms

      void clearValueObjectTypeTerms()
      Clears the object value type terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValueSpatialUnitRecordType

      void matchValueSpatialUnitRecordType(Type spatialUnitRecordType, boolean match)
      Adds a match for parameters with a given spatial unit record type for a coordinate value. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      spatialUnitRecordType - the spatial unit record type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - spatialUnitRecordType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueSpatialUnitRecordTypeTerms

      void clearValueSpatialUnitRecordTypeTerms()
      Clears the spatial unit record type terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValueVersionScheme

      void matchValueVersionScheme(Type versionType, boolean match)
      Adds a match for parameters with a given version type for a version value. Multiple matches can be added to perform a boolean OR among them.
      Parameters:
      versionType - the version type
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - versionType is null
      Compliance:
      mandatory - This method must be implemented.
    • clearValueVersionSchemeTerms

      void clearValueVersionSchemeTerms()
      Clears the value type terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsValueQuery

      boolean supportsValueQuery()
      Tests if a ValueQuery is available.
      Returns:
      true if a value query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getValueQuery

      ValueQuery getValueQuery()
      Gets the query for a value.
      Returns:
      the value query
      Throws:
      UnimplementedException - supportsValueQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsValueQuery()} is {@code true} .
    • matchAnyValue

      void matchAnyValue(boolean match)
      Matches parameters that have any value.
      Parameters:
      match - true to match parameters with any value, false to match parameters with no value
      Compliance:
      mandatory - This method must be implemented.
    • clearValueTerms

      void clearValueTerms()
      Clears the value terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchValuesShuffled

      void matchValuesShuffled(boolean shuffle)
      Matches shuffle order.
      Parameters:
      shuffle - true to match shuffle by weight, false to match order by index
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyValuesShuffled

      void matchAnyValuesShuffled(boolean match)
      Matches parameters that have any shuffle value.
      Parameters:
      match - true to match parameters with any shuffle value, false to match parameters with no shuffle value
      Compliance:
      mandatory - This method must be implemented.
    • clearValuesShuffledTerms

      void clearValuesShuffledTerms()
      Clears the shuffle terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchConfigurationId

      void matchConfigurationId(Id configurationId, boolean match)
      Sets the configuration Id for this query.
      Parameters:
      configurationId - a configuration Id
      match - true if a positive match, false for a negative match
      Throws:
      NullArgumentException - configurationId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearConfigurationIdTerms

      void clearConfigurationIdTerms()
      Clears the configuration Id terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsConfigurationQuery

      boolean supportsConfigurationQuery()
      Tests if a ConfigurationQuery is available.
      Returns:
      true if a configuration query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getConfigurationQuery

      ConfigurationQuery getConfigurationQuery()
      Gets the query for a configuration.
      Returns:
      the configuration query
      Throws:
      UnimplementedException - supportsConfigurationQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsConfigurationQuery()} is {@code true} .
    • clearConfigurationTerms

      void clearConfigurationTerms()
      Clears the configuration terms.
      Compliance:
      mandatory - This method must be implemented.
    • getParameterQueryRecord

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