Interface AgencyLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AgencyLookupSession extends OsidSession

This session provides methods for retrieving Agency objects. The Agency represents a collection of Agents .

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. For example, a browsing application may only need to examine the Agencies it can access, without breaking execution. However, an administrative application may require all Agency elements to be available.

Agencies may have an additional records indicated by their respective record types. The record may not be accessed through a cast of the Agency .

  • Method Details

    • canLookupAgencies

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

      void useComparativeAgencyView()
      The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryAgencyView

      void usePlenaryAgencyView()
      A complete view of the Agency returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.
      Compliance:
      mandatory - This method is must be implemented.
    • getAgency

      Gets the Agency specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Agency may have a different Id than requested, such as the case where a duplicate Id was assigned to an Agency and retained for compatibility.
      Parameters:
      agencyId - Id of the Agency
      Returns:
      the agency
      Throws:
      NotFoundException - agencyId not found
      NullArgumentException - agencyId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getAgenciesByIds

      Gets an AgencyList corresponding to the given IdList . In plenary mode, the returned list contains all of the agencies specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Agency objects may be omitted from the list and may present the elements in any order including returning a unique set.
      Parameters:
      agencyIds - a list of agency Ids
      Returns:
      the returned Agency list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - agencyIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgenciesByGenusType

      AgencyList getAgenciesByGenusType(Type agencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an AgencyList corresponding to the given agency genus Type which does not include agencies of types derived from the specified Type .In plenary mode, the returned list contains all known agencies or an error results. Otherwise, the returned list may contain only those agencies that are accessible through this session.
      Parameters:
      agencyGenusType - an agency genus type
      Returns:
      the returned Agency list
      Throws:
      NullArgumentException - agencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgenciesByParentGenusType

      AgencyList getAgenciesByParentGenusType(Type agencyGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an AgencyList corresponding to the given agency genus Type and include any additional agencies with genus types derived from the specified Type . In plenary mode, the returned list contains all known agencies or an error results. Otherwise, the returned list may contain only those agencies that are accessible through this session.
      Parameters:
      agencyGenusType - an agency genus type
      Returns:
      the returned Agency list
      Throws:
      NullArgumentException - agencyGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgenciesByRecordType

      AgencyList getAgenciesByRecordType(Type agencyRecordType) throws OperationFailedException, PermissionDeniedException
      Gets an AgencyList containing the given agency record Type . In plenary mode, the returned list contains all known agencies or an error results. Otherwise, the returned list may contain only those agencies that are accessible through this session.
      Parameters:
      agencyRecordType - an agency record type
      Returns:
      the returned Agency list
      Throws:
      NullArgumentException - agencyRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgenciesByProvider

      AgencyList getAgenciesByProvider(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets an AgencyList from the given provider. In plenary mode, the returned list contains all known agencies or an error results. Otherwise, the returned list may contain only those agencies that are accessible through this session.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Agency list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getAgencies

      Gets all Agencies . In plenary mode, the returned list contains all known agencies or an error results. Otherwise, the returned list may contain only those agencies that are accessible through this session.
      Returns:
      an AgencyList
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.