Interface ProvisionableQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
ProvisionableSearchSession

public interface ProvisionableQuerySession extends OsidSession

This session provides methods for searching among Provisionable objects. The search query is constructed using the ProvisionableQuery .

This session defines views that offer differing behaviors for searching.

  • federated distributor view: searches include provisionables in distributors of which this distributor is an ancestor in the distributor hierarchy
  • isolated distributor view: searches are restricted to provisionables in this distributor

provisionables may have a query record indicated by their respective record types. The query record is accessed via the ProvisionableQuery .

  • Method Details

    • getDistributorId

      Id getDistributorId()
      Gets the Distributor Id associated with this session.
      Returns:
      the Distributor Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getDistributor

      Gets the Distributor associated with this session.
      Returns:
      the distributor
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchProvisionables

      boolean canSearchProvisionables()
      Tests if this user can perform Provisionable lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all methods in this session will result in a PERMISSION_DENIED . This is intended as a hint to an application that may not offer lookup operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedDistributorView

      void useFederatedDistributorView()
      Federates the view for methods in this session. A federated view will include provisionables in distributors which are children of this distributor in the distributor hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedDistributorView

      void useIsolatedDistributorView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this distributor only.
      Compliance:
      mandatory - This method is must be implemented.
    • getProvisionableQuery

      ProvisionableQuery getProvisionableQuery()
      Gets a provisionable query.
      Returns:
      the provisionable query
      Compliance:
      mandatory - This method must be implemented.
    • getProvisionablesByQuery

      ProvisionableList getProvisionablesByQuery(ProvisionableQuery provisionableQuery) throws OperationFailedException, PermissionDeniedException
      Gets a list of Provisionables matching the given provisionable query.
      Parameters:
      provisionableQuery - the provisionable query
      Returns:
      the returned ProvisionableList
      Throws:
      NullArgumentException - provisionableQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - provisionableQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.