Interface ChainQuerySession

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

public interface ChainQuerySession extends OsidSession

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

This session defines views that offer differing behaviors for searching.

  • federated antimatroid view: searches include chains in antimatroids of which this antimatroid is an ancestor in the antimatroid hierarchy
  • isolated antimatroid view: searches are restricted to chains in this antimatroid

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

  • Method Details

    • getAntimatroidId

      Id getAntimatroidId()
      Gets the Antimatroid Id associated with this session.
      Returns:
      the Antimatroid Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAntimatroid

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

      boolean canSearchChains()
      Tests if this user can perform Chain 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.
    • useFederatedAntimatroidView

      void useFederatedAntimatroidView()
      Federates the view for methods in this session. A federated view will include chains in antimatroids which are children of this antimatroid in the antimatroid hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedAntimatroidView

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

      ChainQuery getChainQuery()
      Gets a chain query.
      Returns:
      the chain query
      Compliance:
      mandatory - This method must be implemented.
    • getChainsByQuery

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