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 oubliette view: All issue methods in this session operate, retrieve and pertain to issues defined explicitly in the current oubliette. Using an isolated view is useful for managing Issues with the IssueAdminSession .
  • federated oubliette view: All issue lookup methods in this session operate, retrieve and pertain to all issues defined in this oubliette and any other issues implicitly available in this oubliette through oubliette inheritence.
  • active issue view: active issues are returned from methods in this session
  • any status issue view: active and inactive issues are returned from methods in this session

The methods useFederatedOublietteView() and useIsolatedOublietteView() 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

    • getOublietteId

      Id getOublietteId()
      Gets the Oubliette Id associated with this session.
      Returns:
      the Oubliette Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getOubliette

      Gets the Oubliette associated with this session.
      Returns:
      the oubliette
      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.
    • useFederatedOublietteView

      void useFederatedOublietteView()
      Federates the view for methods in this session. A federated view will include issues in oubliettes which are children of this oubliette in the oubliette hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedOublietteView

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

      void useActiveIssueView()
      Only active issues are returned from methods in this session.
      Compliance:
      mandatory - This method is must be implemented.
    • useAnyStatusIssueView

      void useAnyStatusIssueView()
      Borth active and inactive issues are returned from 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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.
    • getIssuesByBureau

      IssueList getIssuesByBureau(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Gets an IssueList by Bureau . 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 active mode, issues are returned that are currently active. In any status mode, active and inactive issues 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.
    • 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 and may present the elements in any order including returning a unique set. In active mode, issues are returned that are currently active. In any status mode, active and inactive issues are returned.
      Returns:
      the returned Issue list
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.