Interface IssueOublietteAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IssueOublietteAssignmentSession extends OsidSession

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

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

  • Method Details

    • canAssignIssues

      boolean canAssignIssues()
      Tests if this user can alter issue/oubliette 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 lookup operations to unauthorized users.
      Returns:
      false if issue is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignIssuesToOubliette

      boolean canAssignIssuesToOubliette(Id oublietteId)
      Tests if this user can alter issue/oubliette 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 lookup operations to unauthorized users.
      Parameters:
      oublietteId - the Id of the Oubliette
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - oublietteId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableOublietteIds

      IdList getAssignableOublietteIds(Id oublietteId) throws OperationFailedException
      Gets a list of oubliettes including and under the given oubliette node in which any issue can be assigned.
      Parameters:
      oublietteId - the Id of the Oubliette
      Returns:
      list of assignable oubliette Ids
      Throws:
      NullArgumentException - oublietteId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableOublietteIdsForIssue

      IdList getAssignableOublietteIdsForIssue(Id oublietteId, Id issueId) throws OperationFailedException
      Gets a list of oubliettes including and under the given oubliette node in which a specific issue can be assigned.
      Parameters:
      oublietteId - the Id of the Oubliette
      issueId - the Id of the Issue
      Returns:
      list of assignable oubliette Ids
      Throws:
      NullArgumentException - oublietteId or issueId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignIssueToOubliette

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

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

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