Interface KeyQuerySession

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

public interface KeyQuerySession extends OsidSession

This session provides methods for searching Keys . The search query is constructed using the KeyQuery . The key record Type also specifies the record for the key query.

This session defines views that offer differing behaviors for searching.

  • federated agency view: searches include keys in agencies of which this agency is a ancestor in the agency hierarchy
  • isolated agency view: searches are restricted to agents in this agency

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

  • Method Details

    • getAgencyId

      Id getAgencyId()
      Gets the Agency Id associated with this session.
      Returns:
      the Agency Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAgency

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

      boolean canSearchKeys()
      Tests if this user can perform Key searches. 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 opt not to offer search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedAgencyView

      void useFederatedAgencyView()
      Federates the view for methods in this session. A federated view will include keys in agencies which are children of this agency in the agency hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedAgencyView

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

      KeyQuery getKeyQuery()
      Gets a key query.
      Returns:
      the key query
      Compliance:
      mandatory - This method must be implemented.
    • getKeysByQuery

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