Interface SupersedingEventEnablerAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SupersedingEventEnablerAdminSession extends OsidSession

This session creates and removes superseding event enablers. The data for create and update is provided via the SupersedingEventEnablerForm.

  • Method Details

    • getCalendarId

      Id getCalendarId()
      Gets the Calendar Id associated with this session.
      Returns:
      the Calendar Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCalendar

      Gets the Calendar associated with this session.
      Returns:
      the calendar
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canCreateSupersedingEventEnabler

      boolean canCreateSupersedingEventEnabler()
      Tests if this user can create superseding event enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a SupersedingEventEnabler will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer create operations to an unauthorized user.
      Returns:
      false if SupersedingEventEnabler creation is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canCreateSupersedingEventEnablerWithRecordTypes

      boolean canCreateSupersedingEventEnablerWithRecordTypes(Type[] supersedingEventEnablerRecordTypes)
      Tests if this user can create a single SupersedingEventEnabler using the desired record types. While CalendaringRulesManager.getSupersedingEventEnablerRecordTypes() can be used to examine which records are supported, this method tests which record(s) are required for creating a specific SupersedingEventEnabler. Providing an empty array tests if a SupersedingEventEnabler can be created with no records.
      Parameters:
      supersedingEventEnablerRecordTypes - array of superseding event enabler types
      Returns:
      true if SupersedingEventEnabler creation using the specified record Types is supported, false otherwise
      Throws:
      NullArgumentException - supersedingEventEnablerRecordTypes is null
      Compliance:
      mandatory - This method must be implemented.
    • getSupersedingEventEnablerFormForCreate

      SupersedingEventEnablerForm getSupersedingEventEnablerFormForCreate(Type[] supersedingEventEnablerRecordTypes) throws OperationFailedException, PermissionDeniedException
      Gets the superseding event enabler form for creating new superseding event enablers. A new form should be requested for each create transaction.
      Parameters:
      supersedingEventEnablerRecordTypes - array of superseding event enabler types
      Returns:
      the superseding event enabler form
      Throws:
      NullArgumentException - supersedingEventEnablerRecordTypes is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - unable to get form for requested record types
      Compliance:
      mandatory - This method must be implemented.
    • createSupersedingEventEnabler

      SupersedingEventEnabler createSupersedingEventEnabler(SupersedingEventEnablerForm supersedingEventEnablerForm) throws OperationFailedException, PermissionDeniedException
      Creates a new SupersedingEventEnabler.
      Parameters:
      supersedingEventEnablerForm - the form for this SupersedingEventEnabler
      Returns:
      the new SupersedingEventEnabler
      Throws:
      IllegalStateException - supersedingEventEnablerForm already used in a create transaction
      InvalidArgumentException - one or more of the form elements is invalid
      NullArgumentException - supersedingEventEnablerForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - supersedingEventEnablerForm did not originate from getSupersedingEventFormForCreate()
      Compliance:
      mandatory - This method must be implemented.
    • canUpdateSupersedingEventEnablers

      boolean canUpdateSupersedingEventEnablers()
      Tests if this user can update superseding event enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a SupersedingEventEnabler will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer update operations to an unauthorized user.
      Returns:
      false if SupersedingEventEnabler modification is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSupersedingEventEnablerFormForUpdate

      SupersedingEventEnablerForm getSupersedingEventEnablerFormForUpdate(Id supersedingEventEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the superseding event enabler form for updating an existing superseding event enabler. A new superseding event enabler form should be requested for each update transaction.
      Parameters:
      supersedingEventEnablerId - the Id of the SupersedingEventEnabler
      Returns:
      the superseding event enabler form
      Throws:
      NotFoundException - supersedingEventEnablerId is not found
      NullArgumentException - supersedingEventEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • updateSupersedingEventEnabler

      void updateSupersedingEventEnabler(SupersedingEventEnablerForm supersedingEventEnablerForm) throws OperationFailedException, PermissionDeniedException
      Updates an existing superseding event enabler.
      Parameters:
      supersedingEventEnablerForm - the form containing the elements to be updated
      Throws:
      IllegalStateException - supersedingEventEnablerForm already used in an update transaction
      InvalidArgumentException - the form contains an invalid value
      NullArgumentException - supersedingEventEnablerForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - supersedingEventEnablerForm did not originate from getSupersedingEventFormForUpdate()
      Compliance:
      mandatory - This method must be implemented.
    • canDeleteSupersedingEventEnablers

      boolean canDeleteSupersedingEventEnablers()
      Tests if this user can delete superseding event enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a SupersedingEventEnabler will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer delete operations to an unauthorized user.
      Returns:
      false if SupersedingEventEnabler deletion is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • deleteSupersedingEventEnabler

      void deleteSupersedingEventEnabler(Id supersedingEventEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Deletes a SupersedingEventEnabler.
      Parameters:
      supersedingEventEnablerId - the Id of the SupersedingEventEnabler to remove
      Throws:
      NotFoundException - supersedingEventEnablerId not found
      NullArgumentException - supersedingEventEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canManageSupersedingEventEnablerAliases

      boolean canManageSupersedingEventEnablerAliases()
      Tests if this user can manage Id aliases for superseding event enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known changing an alias will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer alias operations to an unauthorized user.
      Returns:
      false if SupersedingEventEnabler aliasing is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • aliasSupersedingEventEnabler

      void aliasSupersedingEventEnabler(Id supersedingEventEnablerId, Id aliasId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an Id to a SupersedingEventEnabler for the purpose of creating compatibility. The primary Id of the SupersedingEventEnabler is determined by the provider. The new Id performs as an alias to the primary Id. If the alias is a pointer to another superseding event enabler. it is reassigned to the given superseding event enabler Id.
      Parameters:
      supersedingEventEnablerId - the Id of a SupersedingEventEnabler
      aliasId - the alias Id
      Throws:
      AlreadyExistsException - aliasId is already assigned
      NotFoundException - supersedingEventEnablerId not found
      NullArgumentException - supersedingEventEnablerId or aliasId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.