Interface PersonQuerySession

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

public interface PersonQuerySession extends OsidSession

This session provides methods for querying Person objects. The search query is constructed using the PersonQuery .

This session defines views that offer differing behaviors for searching.

  • federated realm view: searches include persons in realms of which this realm is an ancestor in the realm hierarchy
  • isolated realm view: searches are restricted to persons in this realm

Persons may have a query record indicated by their respective record types. The query record is accessed via the PersonQuery . The returns in this session may not be cast directly to these interfaces.

  • Method Details

    • getRealmId

      Id getRealmId()
      Gets the Realm Id associated with this session.
      Returns:
      the Realm Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getRealm

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

      boolean canSearchPersons()
      Tests if this user can perform Person 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 wish 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.
    • useFederatedRealmView

      void useFederatedRealmView()
      Federates the view for methods in this session. A federated view will include persons in realms which are children of this realm in the realm hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedRealmView

      void useIsolatedRealmView()
      Isolates the view for methods in this session. An isolated view restricts searches to this realm only.
      Compliance:
      mandatory - This method is must be implemented.
    • getPersonQuery

      PersonQuery getPersonQuery()
      Gets a person query.
      Returns:
      the person query
      Compliance:
      mandatory - This method must be implemented.
    • getPersonsByQuery

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