Interface ActivityCourseCatalogAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActivityCourseCatalogAssignmentSession extends OsidSession

This session provides methods to re-assign Activities to CourseCatalogs . An Activity may appear in multiple CourseCatalogs and removing the last reference to an Activity 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 Activity to another CourseCatalog is not a copy operation (eg: does not change its Id ).

  • Method Details

    • canAssignActivities

      boolean canAssignActivities()
      Tests if this user can alter activity/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.
    • canAssignActivitiesToCourseCatalog

      boolean canAssignActivitiesToCourseCatalog(Id courseCatalogId)
      Tests if this user can alter activity/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 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.
    • getAssignableCourseCatalogIdsForActivity

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

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

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

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