Interface AssessmentTakenBankAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AssessmentTakenBankAssignmentSession extends OsidSession

This session provides methods to re-assign AssessmentTaken objects to Banks . An AssessmentTaken may map to multiple Banks and removing the last reference to an AssessmentTaken is the equivalent of deleting it. Each Bank may have its own authorizations governing who is allowed to operate on it.

Moving or adding a reference of an AssessmentTaken to another Bank is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignAssessmentsTaken

      boolean canAssignAssessmentsTaken()
      Tests if this user can alter assessment taken/bank 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 mapping is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignAssessmentsTakenToBank

      boolean canAssignAssessmentsTakenToBank(Id bankId)
      Tests if this user can alter assessment taken/bank 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:
      bankId - the Id of the Bank
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - bankId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableBankIds

      IdList getAssignableBankIds(Id bankId) throws OperationFailedException
      Gets a list of banks including and under the given banks node in which any assessment taken can be assigned.
      Parameters:
      bankId - the Id of the Bank
      Returns:
      list of assignable bank Ids
      Throws:
      NullArgumentException - bankId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableBankIdsForAssessmentTaken

      IdList getAssignableBankIdsForAssessmentTaken(Id bankId, Id assessmentTakenId) throws OperationFailedException
      Gets a list of bank including and under the given bank node in which a specific assessment taken can be assigned.
      Parameters:
      bankId - the Id of the Bank
      assessmentTakenId - the Id of the AssessmentTaken
      Returns:
      list of assignable bank Ids
      Throws:
      NullArgumentException - bankId or assessmentTakenId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignAssessmentTakenToBank

      void assignAssessmentTakenToBank(Id assessmentTakenId, Id bankId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing AssessmentTaken to a Bank .
      Parameters:
      assessmentTakenId - the Id of the AssessmentTaken
      bankId - the Id of the Bank
      Throws:
      AlreadyExistsException - assessmentTakenId is already assigned to bankId
      NotFoundException - assessmentTakenId or bankId not found
      NullArgumentException - assessmentTakenId or bankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • unassignAssessmentTakenFromBank

      void unassignAssessmentTakenFromBank(Id assessmentTakenId, Id bankId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an AssessmentTaken from a Bank .
      Parameters:
      assessmentTakenId - the Id of the AssessmentTaken
      bankId - the Id of the Bank
      Throws:
      NotFoundException - assessmentTakenId or bankId not found or assessmentTakenId not assigned to bankId
      NullArgumentException - assessmentTakenId or bankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure occurred
      Compliance:
      mandatory - This method must be implemented.
    • reassignAssessmentTakenToBank

      void reassignAssessmentTakenToBank(Id assessmentTakenId, Id fromBankId, Id toBankId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an AssessmentTaken from one Bank to another. Mappings to other Banks are unaffected.
      Parameters:
      assessmentTakenId - the Id of the AssessmentTaken
      fromBankId - the Id of the current Bank
      toBankId - the Id of the destination Bank
      Throws:
      AlreadyExistsException - assessmentTakenId already assigned to toBankId
      NotFoundException - assessmentTakenId, fromBankId , or toBankId not found or assessmentTakenId not mapped to fromBankId
      NullArgumentException - assessmentTakenId, fromBankId , or toBankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.