Interface DemographicLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DemographicLookupSession extends OsidSession

This session provides methods for retrieving Demographics .

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
  • isolated bin view: All demographic methods in this session operate, retrieve and pertain to demographic defined explicitly in the current bin. Using an isolated view is useful for managing Demographics with the DemographicAdminSession .
  • federated bin view: All demographic methods in this session operate, retrieve and pertain to all demographic defined in this bin and any other demographic implicitly available in this bin through bin inheritence.
  • active demographic view: All demographic lookup methods return active demographics.
  • any status demographic view: Demographics of any active or inactive status are returned from methods.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. The methods useFederatedDistributorView() and useIsolatedDistributorView() behave as a radio group and one should be selected before invoking the methods in this session.

  • Method Details

    • getBinId

      Id getBinId()
      Gets the Bin Id associated with this session.
      Returns:
      the Bin Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getBin

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

      boolean canLookupDemographics()
      Tests if this user can perform Demographics 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.
    • useComparativeDemographicView

      void useComparativeDemographicView()
      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.
    • usePlenaryDemographicView

      void usePlenaryDemographicView()
      A complete view of the Demographic 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.
    • useFederatedBinView

      void useFederatedBinView()
      Federates the view for methods in this session. A federated view will include demographic in bins which are children of this bin in the bin hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedBinView

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

      void useActiveDemographicView()
      Only active demographics are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusDemographicView

      void useAnyStatusDemographicView()
      All active and inactive demographics are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getDemographic

      Gets the Demographic specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Demographic may have a different Id than requested, such as the case where a duplicate Id was assigned to a Demographic and retained for compatibility. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Parameters:
      demographicId - Id of the Demographic
      Returns:
      the demographic
      Throws:
      NotFoundException - demographicId not found
      NullArgumentException - demographicId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getDemographicsByIds

      Gets a DemographicList corresponding to the given IdList . In plenary mode, the returned list contains all of the demographic 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 Demographics may be omitted from the list and may present the elements in any order including returning a unique set. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Parameters:
      demographicIds - the list of Ids to retrieve
      Returns:
      the returned Demographic list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - demographicIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDemographicsByGenusType

      DemographicList getDemographicsByGenusType(Type demographicGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DemographicList corresponding to the given demographic genus Type which does not include demographic of genus types derived from the specified Type . In plenary mode, the returned list contains all known demographic or an error results. Otherwise, the returned list may contain only those demographic that are accessible through this session. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Parameters:
      demographicGenusType - a demographic genus type
      Returns:
      the returned Demographic list
      Throws:
      NullArgumentException - demographicGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDemographicsByParentGenusType

      DemographicList getDemographicsByParentGenusType(Type demographicGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a DemographicList corresponding to the given demographic genus Type and include any additional demographic with genus types derived from the specified Type . In plenary mode, the returned list contains all known demographic or an error results. Otherwise, the returned list may contain only those demographic that are accessible through this session. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Parameters:
      demographicGenusType - a demographic genus type
      Returns:
      the returned Demographic list
      Throws:
      NullArgumentException - demographicGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDemographicsByRecordType

      DemographicList getDemographicsByRecordType(Type demographicRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a DemographicList containing the given demographic record Type . In plenary mode, the returned list contains all known demographic or an error results. Otherwise, the returned list may contain only those demographic that are accessible through this session. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Parameters:
      demographicRecordType - a demographic record type
      Returns:
      the returned Demographic list
      Throws:
      NullArgumentException - demographicRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDemographics

      Gets all Demographics . In plenary mode, the returned list contains all known demographic or an error results. Otherwise, the returned list may contain only those demographic that are accessible through this session. In active mode, demographic are returned that are currently active. In any status mode, active and inactive demographic are returned.
      Returns:
      the returned Demographic list
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.