Interface ResponseLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ResponseLookupSession extends OsidSession

This session defines methods for retrieving responses.

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated inquest view: All response methods in this session operate, retrieve and pertain to responses defined explicitly in the current inquest. Using an isolated view is useful for managing Responses with the ResponseAdminSession .
  • federated inquest view: All response lookup methods in this session operate, retrieve and pertain to all responses defined in this inquest and any other responses implicitly available in this inquest through inquest inheritence.
  • effective response view: All response lookup methods return responses where the current date falls in between the effective dates inclusive.
  • any effective response view: responses of any effective date are returned from methods.

The methods useFederatedInquestView() and useIsolatedInquestView() behave as a radio group and one should be selected before invoking any lookup methods.

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

  • Method Details

    • getInquestId

      Id getInquestId()
      Gets the Inquest Id associated with this session.
      Returns:
      the Inquest Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getInquest

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

      boolean canLookupResponses()
      Tests if this user can perform Response 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 lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeResponseView

      void useComparativeResponseView()
      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.
    • usePlenaryResponseView

      void usePlenaryResponseView()
      A complete view of the Response 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.
    • useFederatedInquestView

      void useFederatedInquestView()
      Federates the view for methods in this session. A federated view will include responses in inquests which are children of this inquest in the inquest hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedInquestView

      void useIsolatedInquestView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this inquest only.
      Compliance:
      mandatory - This method is must be implemented.
    • useEffectiveResponseView

      void useEffectiveResponseView()
      Only responses whose effective dates are current are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyEffectiveResponseView

      void useAnyEffectiveResponseView()
      All responses of any effective dates are returned by methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • getResponse

      Gets the Response specified by its Id . In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Response may have a different Id than requested, such as the case where a duplicate Id was assigned to a Response and retained for compatibility. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      responseId - the Id of the Response to retrieve
      Returns:
      the returned Response
      Throws:
      NotFoundException - no Response found with the given Id
      NullArgumentException - responseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesByIds

      Gets a ResponseList corresponding to the given IdList . In plenary mode, the returned list contains all of the responses 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 Responses may be omitted from the list and may present the elements in any order including returning a unique set. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      responseIds - the list of Ids to retrieve
      Returns:
      the returned Response list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - responseIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesByGenusType

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

      ResponseList getResponsesByParentGenusType(Type responseGenusType) throws OperationFailedException, PermissionDeniedException
      Gets a ResponseList corresponding to the given response genus Type and include any additional responses with genus types derived from the specified Type . In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      responseGenusType - a response genus type
      Returns:
      the returned Response list
      Throws:
      NullArgumentException - responseGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesByRecordType

      ResponseList getResponsesByRecordType(Type responseRecordType) throws OperationFailedException, PermissionDeniedException
      Gets a ResponseList containing the given response record Type . In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      responseRecordType - a response record type
      Returns:
      the returned Response list
      Throws:
      NullArgumentException - responseRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesOnDate

      Gets a list of responses effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned Response list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - from or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForInquiry

      ResponseList getResponsesForInquiry(Id inquiry) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for an inquiry. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      inquiry - an inquiry Id
      Returns:
      the returned Response list
      Throws:
      NullArgumentException - inquiry is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForInquiryOnDate

      ResponseList getResponsesForInquiryOnDate(Id inquiry, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for the given inquiry effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      inquiry - an inquiry Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Response list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - inquiryId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForResponder

      ResponseList getResponsesForResponder(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for a resource. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      Returns:
      the returned Response list
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForResponderOnDate

      ResponseList getResponsesForResponderOnDate(Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for a resource and effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Response list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - resourceId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForInquiryAndResponder

      ResponseList getResponsesForInquiryAndResponder(Id inquiryId, Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for an inquiry and responder. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      inquiryId - an inquiry Id
      resourceId - a resource Id
      Returns:
      the returned Response list
      Throws:
      NullArgumentException - inquiryId or resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponsesForInquiryAndResponderOnDate

      ResponseList getResponsesForInquiryAndResponderOnDate(Id inquiryId, Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of responses for an inquiry and responder and effective during the entire given date range inclusive but not confined to the date range. In plenary mode, the returned list contains all known responses or an error results. Otherwise, the returned list may contain only those responses that are accessible through this session. In effective mode, responses are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective responses and those currently expired are returned.
      Parameters:
      inquiryId - an inquiry Id
      resourceId - a resource Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Response list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - inquiryId, resourceId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getResponses

      Gets all responses. In plenary mode, the returned list contains all of the responses including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Responses may be omitted from the list and may present the elements in any order including returning a unique set. In effective mode, responses are returned that are currently effective. In any effective mode, effective responses and those currently expired are returned.
      Returns:
      the returned Response list
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.