Interface IssueLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IssueLookupSession extends OsidSession

This session defines methods for retrieving issues.

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 front office view: All issue methods in this session operate, retrieve and pertain to issues defined explicitly in the current front office. Using an isolated view is useful for managing Issues with the IssueAdminSession .
  • federated front office view: All issue lookup methods in this session operate, retrieve and pertain to all issues defined in this front office and any other issues implicitly available in this front office through front office inheritence.
  • effective issue view: All issue lookup methods return issues where the current date falls in between the effective dates inclusive.
  • any effective issue view: Issues of any effective date are returned from methods.

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

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

  • Method Details

    • getFrontOfficeId

      Id getFrontOfficeId()
      Gets the FrontOffice Id associated with this session.
      Returns:
      the FrontOffice Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFrontOffice

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

      boolean canLookupIssues()
      Tests if this user can perform Issue 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.
    • useComparativeIssueView

      void useComparativeIssueView()
      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.
    • usePlenaryIssueView

      void usePlenaryIssueView()
      A complete view of the Issue 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.
    • useFederatedFrontOfficeView

      void useFederatedFrontOfficeView()
      Federates the view for methods in this session. A federated view will include issues in front offices which are children of this front office in the front office hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFrontOfficeView

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

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

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

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

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

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

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

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

      Gets a list of issues effective beginning in the date range. Issues are returned with a start effective date that falls between the requested dates inclusive. In plenary mode, the returned list contains all known issues or an error results. Otherwise, the returned list may contain only those issues that are accessible through this session. In effective mode, issues are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective issues and those currently expired are returned.
      Parameters:
      from - start of date range
      to - end of date range
      Returns:
      the returned Issue 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.
    • getIssuesForQueue

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

      IssueList getIssuesForQueueOnDate(Id queueId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of issues for a queue effective beginning in the date range. Issues are returned with a start effective date that falls between the requested dates inclusive. In plenary mode, the returned list contains all known issues or an error results. Otherwise, the returned list may contain only those issues that are accessible through this session. In effective mode, issues are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective issues and those currently expired are returned.
      Parameters:
      queueId - a queue Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Issue list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - queueId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIssuesForCustomer

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

      IssueList getIssuesForCustomerOnDate(Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of issues for a customer effective beginning in the date range. Issues are returned with a start effective date that falls between the requested dates inclusive. In plenary mode, the returned list contains all known issues or an error results. Otherwise, the returned list may contain only those issues that are accessible through this session. In effective mode, issues are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective issues and those currently expired are returned.
      Parameters:
      resourceId - a resource Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Issue 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.
    • getIssuesForQueueAndCustomer

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

      IssueList getIssuesForQueueAndCustomerOnDate(Id queueId, Id resourceId, DateTime from, DateTime to) throws OperationFailedException, PermissionDeniedException
      Gets a list of issues for a queue and customer effective beginning in the date range. Issues are returned with a start effective date that falls between the requested dates inclusive. In plenary mode, the returned list contains all known issues or an error results. Otherwise, the returned list may contain only those issues that are accessible through this session. In effective mode, issues are returned that are currently effective in addition to being effective in the given date range. In any effective mode, effective issues and those currently expired are returned.
      Parameters:
      queueId - a queue Id
      resourceId - a resource Id
      from - start of date range
      to - end of date range
      Returns:
      the returned Issue list
      Throws:
      InvalidArgumentException - from is greater than to
      NullArgumentException - queueId, resourceId, from , or to is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIssues

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