Interface ActivityUnitCourseCatalogAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActivityUnitCourseCatalogAssignmentSession extends OsidSession

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

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

  • Method Details

    • canAssignActivityUnits

      boolean canAssignActivityUnits()
      Tests if this user can alter activity unit/course catalog 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.
    • canAssignActivityUnitToCourseCatalog

      boolean canAssignActivityUnitToCourseCatalog(Id courseCatalogId)
      Tests if this user can alter activity unit/course catalog 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:
      courseCatalogId - the Id of the CourseCatalog
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - courseCatalogId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableCourseCatalogIds

      IdList getAssignableCourseCatalogIds(Id courseCatalogId) throws OperationFailedException
      Gets a list of course catalogs including and under the given course catalog node in which any activity unit can be assigned.
      Parameters:
      courseCatalogId - the Id of the CourseCatalog
      Returns:
      list of assignable course catalog Ids
      Throws:
      NullArgumentException - courseCatalogId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableCourseCatalogIdsForActivityUnit

      IdList getAssignableCourseCatalogIdsForActivityUnit(Id courseCatalogId, Id activityUnitId) throws OperationFailedException
      Gets a list of course catalogs including and under the given course catalog node in which a specific activity unit can be assigned.
      Parameters:
      courseCatalogId - the Id of the CourseCatalog
      activityUnitId - the Id of the ActivityUnit
      Returns:
      list of assignable course catalog Ids
      Throws:
      NullArgumentException - courseCatalogId or activityUnitId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignActivityUnitToCourseCatalog

      void assignActivityUnitToCourseCatalog(Id activityUnitId, Id courseCatalogId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing ActivityUnit to a CourseCatalog .
      Parameters:
      activityUnitId - the Id of the ActivityUnit
      courseCatalogId - the Id of the CourseCatalog
      Throws:
      AlreadyExistsException - activityUnitId is already assigned to courseCatalogId
      NotFoundException - activityUnitId or courseCatalogId not found
      NullArgumentException - activityUnitId or courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignActivityUnitFromCourseCatalog

      void unassignActivityUnitFromCourseCatalog(Id activityUnitId, Id courseCatalogId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an ActivityUnit from a CourseCatalog .
      Parameters:
      activityUnitId - the Id of the ActivityUnit
      courseCatalogId - the Id of the CourseCatalog
      Throws:
      NotFoundException - activityUnitId or courseCatalogId not found or activityUnitId not assigned to courseCatalogId
      NullArgumentException - activityUnitId or courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • reassignActivityUnitToCourseCatalog

      void reassignActivityUnitToCourseCatalog(Id activityUnitId, Id fromCourseCatalogId, Id toCourseCatalogId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an ActivityUnit from one CourseCatalog to another. Mappings to other CourseCatalogs are unaffected.
      Parameters:
      activityUnitId - the Id of the ActivityUnit
      fromCourseCatalogId - the Id of the current CourseCatalog
      toCourseCatalogId - the Id of the destination CourseCatalog
      Throws:
      AlreadyExistsException - activityUnitId already assigned to toCourseCatalogId
      NotFoundException - activityUnitId, fromCourseCatalogId , or toCourseCatalogId not found or activityUnitId not mapped to fromCourseCatalogId
      NullArgumentException - activityUnitId fromCourseCatalogId , or toCourseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.