Interface ModelQuerySession

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

public interface ModelQuerySession extends OsidSession

This session provides methods for searching among Models . The search query is constructed using the ModelQuery .

This session defines views that offer differing behaviors for searching.

  • federated warehouse view: searches include models in warehouses of which this warehouse is an ancestor in the warehouse hierarchy
  • isolated warehouse view: searches are restricted to models in this warehouse

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

  • Method Details

    • getWarehouseId

      Id getWarehouseId()
      Gets the Warehouse Id associated with this session.
      Returns:
      the Warehouse Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getWarehouse

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

      boolean canSearchModels()
      Tests if this user can perform Model 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.
    • useFederatedWarehouseView

      void useFederatedWarehouseView()
      Federates the view for methods in this session. A federated view will include models in warehouse which are children of this warehouse in the warehouse hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedWarehouseView

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

      ModelQuery getModelQuery()
      Gets a model query.
      Returns:
      the model query.
      Compliance:
      mandatory - This method must be implemented.
    • getModelsByQuery

      Gets a list of Models matching the given model query.
      Parameters:
      modelQuery - the model query
      Returns:
      the returned ModelList
      Throws:
      NullArgumentException - modelQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - modelQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.