Interface DepotQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidCatalogQuery, OsidExtensibleQuery, OsidFederateableQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidSourceableQuery, Suppliable

public interface DepotQuery extends OsidCatalogQuery

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

  • Method Details

    • matchPackageId

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

      void clearPackageIdTerms()
      Clears the package Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsPackageQuery

      boolean supportsPackageQuery()
      Tests if a PackageQuery is available.
      Returns:
      true if a package query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getPackageQuery

      PackageQuery getPackageQuery()
      Gets the query for a package. Multiple retrievals produce a nested OR term.
      Returns:
      the package query
      Throws:
      UnimplementedException - supportsPackageQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsPackageQuery()} is {@code true} .
    • matchAnyPackage

      void matchAnyPackage(boolean match)
      Matches depots that have any package.
      Parameters:
      match - true to match depots with any packages, false to match depots with no packages
      Compliance:
      mandatory - This method must be implemented.
    • clearPackageTerms

      void clearPackageTerms()
      Clears the package query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchAncestorDepotId

      void matchAncestorDepotId(Id depotId, boolean match)
      Sets the depot Id for this query to match depots that have the specified depot as an ancestor.
      Parameters:
      depotId - a depot Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - depotId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorDepotIdTerms

      void clearAncestorDepotIdTerms()
      Clears the ancestor depot Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsAncestorDepotQuery

      boolean supportsAncestorDepotQuery()
      Tests if a DepotQuery is available.
      Returns:
      true if a depot query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getAncestorDepotQuery

      DepotQuery getAncestorDepotQuery()
      Gets the query for a Depot. Multiple retrievals produce a nested OR term.
      Returns:
      the depot query
      Throws:
      UnimplementedException - supportsAncestorDepotQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsAncestorDepotQuery()} is {@code true} .
    • matchAnyAncestorDepot

      void matchAnyAncestorDepot(boolean match)
      Matches depots with any ancestor.
      Parameters:
      match - true to match depots with any ancestor, false to match root depots
      Compliance:
      mandatory - This method must be implemented.
    • clearAncestorDepotTerms

      void clearAncestorDepotTerms()
      Clears the ancestor depot query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDescendantDepotId

      void matchDescendantDepotId(Id depotId, boolean match)
      Sets the depot Id for this query to match depots that have the specified depot as a descendant.
      Parameters:
      depotId - a depot Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - depotId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantDepotIdTerms

      void clearDescendantDepotIdTerms()
      Clears the descendant depot Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsDescendantDepotQuery

      boolean supportsDescendantDepotQuery()
      Tests if a DepotQuery is available.
      Returns:
      true if a depot query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getDescendantDepotQuery

      DepotQuery getDescendantDepotQuery()
      Gets the query for a Depot. Multiple retrievals produce a nested OR term.
      Returns:
      the depot query
      Throws:
      UnimplementedException - supportsDescendantDepotQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsDescendantDepotQuery()} is {@code true} .
    • matchAnyDescendantDepot

      void matchAnyDescendantDepot(boolean match)
      Matches depots with any descendant.
      Parameters:
      match - true to match depots with any descendant, false to match leaf depots
      Compliance:
      mandatory - This method must be implemented.
    • clearDescendantDepotTerms

      void clearDescendantDepotTerms()
      Clears the descendant depot query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getDepotQueryRecord

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