Interface IssueFrontOfficeAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IssueFrontOfficeAssignmentSession extends OsidSession

This session provides methods to re-assign Issues to FrontOffice objects. An Issue may appear in multiple FrontOffice objects and removing the last reference to an Issue is the equivalent of deleting it. Each FrontOffice may have its own authorizations governing who is allowed to operate on it.

Adding a reference of an Issue to another FrontOffice is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignIssues

      boolean canAssignIssues()
      Tests if this user can alter issue/front office mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping 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 assignment operations to unauthorized users.
      Returns:
      false if mapping is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignIssuesToFrontOffice

      boolean canAssignIssuesToFrontOffice(Id frontOfficeId)
      Tests if this user can alter issue/front office mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping 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 assignment operations to unauthorized users.
      Parameters:
      frontOfficeId - the Id of the FrontOffice
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - frontOfficeId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableFrontOfficeIds

      IdList getAssignableFrontOfficeIds(Id frontOfficeId) throws OperationFailedException
      Gets a list of front offices including and under the given front office node in which any issue can be assigned.
      Parameters:
      frontOfficeId - the Id of the FrontOffice
      Returns:
      list of assignable front office Ids
      Throws:
      NullArgumentException - frontOfficeId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableFrontOfficeIdsForIssue

      IdList getAssignableFrontOfficeIdsForIssue(Id frontOfficeId, Id issueId) throws OperationFailedException
      Gets a list of front offices including and under the given front office node in which a specific issue can be assigned.
      Parameters:
      frontOfficeId - the Id of the FrontOffice
      issueId - the Id of the Issue
      Returns:
      list of assignable front office Ids
      Throws:
      NullArgumentException - frontOfficeId or issueId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignIssueToFrontOffice

      void assignIssueToFrontOffice(Id issueId, Id frontOfficeId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing Issue to a FrontOffice .
      Parameters:
      issueId - the Id of the Issue
      frontOfficeId - the Id of the FrontOffice
      Throws:
      AlreadyExistsException - issueId is already assigned to frontOfficeId
      NotFoundException - issueId or frontOfficeId not found
      NullArgumentException - issueId or frontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignIssueFromFrontOffice

      void unassignIssueFromFrontOffice(Id issueId, Id frontOfficeId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an Issue from a FrontOffice .
      Parameters:
      issueId - the Id of the Issue
      frontOfficeId - the Id of the FrontOffice
      Throws:
      NotFoundException - issueId or frontOfficeId not found or issueId not assigned to frontOfficeId
      NullArgumentException - issueId or frontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • reassignIssueToFrontOffice

      void reassignIssueToFrontOffice(Id issueId, Id fromFrontOfficeId, Id toFrontOfficeId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an Issue from one FrontOffice to another. Mappings to other FrontOffices are unaffected.
      Parameters:
      issueId - the Id of the Issue
      fromFrontOfficeId - the Id of the current FrontOffice
      toFrontOfficeId - the Id of the destination FrontOffice
      Throws:
      AlreadyExistsException - issueId already assigned to toFrontOfficeId
      NotFoundException - issueId, fromFrontOfficeId , or toFrontOfficeId not found or issueId not mapped to fromFrontOfficeId
      NullArgumentException - issueId, fromFrontOfficeId , or toFrontOfficeId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.