Interface ActivityRegistrationCourseCatalogAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActivityRegistrationCourseCatalogAssignmentSession extends OsidSession

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

  • Method Details

    • canAssignActivityRegistrations

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

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

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

      void assignActivityRegistrationToCourseCatalog(Id activityRegistrationId, Id courseCatalogId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing ActivityRegistration to a CourseCatalog .
      Parameters:
      activityRegistrationId - the Id of the ActivityRegistration
      courseCatalogId - the Id of the CourseCatalog
      Throws:
      NotFoundException - activityRegistrationId or courseCatalogId not found
      NullArgumentException - activityRegistrationId or courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignActivityRegistrationFromCourseCatalog

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

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