Interface AssessmentBankAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AssessmentBankAssignmentSession extends OsidSession

This session provides methods to re-assign Assessments to Banks . An Assessment may map to multiple Banks and removing the last reference to an Assessment 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 Assessment to another Bank is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignAssessments

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

      boolean canAssignAssessmentsToBank(Id bankId)
      Tests if this user can alter assessment/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 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.
    • getAssignableBankIdsForAssessment

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

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

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

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