Interface AssessmentPartBankAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AssessmentPartBankAssignmentSession extends OsidSession

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

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

  • Method Details

    • canAssignAssessmentParts

      boolean canAssignAssessmentParts()
      Tests if this user can alter assessment part/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.
    • canAssignAssessmentPartsToBank

      boolean canAssignAssessmentPartsToBank(Id bankId)
      Tests if this user can alter assessment part/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 bank including and under the given bank node in which any assessment part 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.
    • getAssignableBankIdsForAssessmentPart

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

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

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

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