Interface DuplicateIssueAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DuplicateIssueAdminSession extends OsidSession

This session creates and manages linked 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.
    • canLinkIssues

      boolean canLinkIssues()
      Tests if this user can link duplicate Issues . A return of true does not guarantee successful authorization. A return of false indicates that it is known linking an issue will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.
      Returns:
      false if linking Issues is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canLinkIssue

      boolean canLinkIssue(Id issueId)
      Tests if this user can link an Issue . A return of true does not guarantee successful authorization. A return of false indicates that it is known linking the issue will result in a PERMISSION_DENIED . This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.
      Parameters:
      issueId - the Id of the Issue
      Returns:
      false if issue linking is not authorized, true otherwise
      Throws:
      NullArgumentException - issueId is null
      Compliance:
      mandatory - This method must be implemented.
      Notes:
      If - the {@code issueId} is not found, then it is acceptable to return false to indicate the lack of linking available.
    • linkIssue

      Links two issues as duplicates. An issue may link to more than issue.
      Parameters:
      issueId - the Id of the Issue
      anotherIssueId - the Id of another Issue
      Throws:
      AlreadyExistsException - issueId and anotherIssueId already linked
      NotFoundException - issueId or anotherIssueId is not found
      NullArgumentException - issueId or anotherIssueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unlinkIssue

      void unlinkIssue(Id issueId, Id anotherIssueId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes the link between two issues as duplicates.
      Parameters:
      issueId - the Id of the Issue
      anotherIssueId - the Id of another Issue
      Throws:
      NotFoundException - issueId and anotherIssueId not linked
      NullArgumentException - issueId or anotherIssueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.