Interface ProvisionableQuery

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

public interface ProvisionableQuery extends OsidRelationshipQuery

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

  • Method Details

    • matchPoolId

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

      void clearPoolIdTerms()
      Clears the pool Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsPoolQuery

      boolean supportsPoolQuery()
      Tests if a PoolQuery is available.
      Returns:
      true if a pool query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getPoolQuery

      PoolQuery getPoolQuery()
      Gets the query for a pool. Multiple retrievals produce a nested OR term.
      Returns:
      the pool query
      Throws:
      UnimplementedException - supportsPoolQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsPoolQuery()} is {@code true} .
    • clearPoolTerms

      void clearPoolTerms()
      Clears the pool query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchResourceId

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

      void clearResourceIdTerms()
      Clears the resource Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsResourceQuery

      boolean supportsResourceQuery()
      Tests if a ResourceQuery is available.
      Returns:
      true if a resource query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getResourceQuery

      ResourceQuery getResourceQuery()
      Gets the query for a resource. Multiple retrievals produce a nested OR term.
      Returns:
      the resource query
      Throws:
      UnimplementedException - supportsResourceQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsResourceQuery()} is {@code true} .
    • clearResourceTerms

      void clearResourceTerms()
      Clears the resource query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchUse

      void matchUse(long start, long end, boolean match)
      Matches provisionables provisioned the number of times in 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
      Compliance:
      mandatory - This method must be implemented.
    • clearUseTerms

      void clearUseTerms()
      Clears the position query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDistributorId

      void matchDistributorId(Id distributorId, boolean match)
      Sets the distributor Id for this query to match queues assigned to distributors.
      Parameters:
      distributorId - the broker Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - distributorId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDistributorIdTerms

      void clearDistributorIdTerms()
      Clears the distributor Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDistributorQuery

      boolean supportsDistributorQuery()
      Tests if a DistributorQuery is available.
      Returns:
      true if a distributor query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDistributorQuery

      DistributorQuery getDistributorQuery()
      Gets the query for a distributor. Multiple retrievals produce a nested OR term.
      Returns:
      the distributor query
      Throws:
      UnimplementedException - supportsDistributorQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDistributorQuery()} is {@code true} .
    • clearDistributorTerms

      void clearDistributorTerms()
      Clears the distributor query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getProvisionableQueryRecord

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