Interface InputEnablerSystemAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InputEnablerSystemAssignmentSession extends OsidSession

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

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

  • Method Details

    • canAssignInputEnablers

      boolean canAssignInputEnablers()
      Tests if this user can alter input enabler/system 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.
    • canAssignInputEnablersToSystem

      boolean canAssignInputEnablersToSystem(Id systemId)
      Tests if this user can alter input enabler/system 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:
      systemId - the Id of the System
      Returns:
      false if mapping is not authorized, true otherwise
      Throws:
      NullArgumentException - systemId is null
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableSystemIds

      IdList getAssignableSystemIds(Id systemId) throws OperationFailedException
      Gets a list of systems including and under the given system node in which any input enabler can be assigned.
      Parameters:
      systemId - the Id of the Syestem
      Returns:
      list of assignable system Ids
      Throws:
      NullArgumentException - systemId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableSystemIdsForInputEnabler

      IdList getAssignableSystemIdsForInputEnabler(Id systemId, Id inputEnablerId) throws OperationFailedException
      Gets a list of systems including and under the given system node in which a specific input enabler can be assigned.
      Parameters:
      systemId - the Id of the System
      inputEnablerId - the Id of the InputEnabler
      Returns:
      list of assignable system Ids
      Throws:
      NullArgumentException - systemId or inputEnablerId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • assignInputEnablerToSystem

      void assignInputEnablerToSystem(Id inputEnablerId, Id systemId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Adds an existing InputEnabler to a System .
      Parameters:
      inputEnablerId - the Id of the InputEnabler
      systemId - the Id of the System
      Throws:
      AlreadyExistsException - inputEnablerId already assigned to systemId
      NotFoundException - inputEnablerId or systemId not found
      NullArgumentException - inputEnablerId or systemId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • unassignInputEnablerFromSystem

      void unassignInputEnablerFromSystem(Id inputEnablerId, Id systemId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Removes an InputEnabler from a System .
      Parameters:
      inputEnablerId - the Id of the InputEnabler
      systemId - the Id of the System
      Throws:
      NotFoundException - inputEnablerId or systemId not found or inputEnablerId not assigned to systemId
      NullArgumentException - inputEnablerId or systemId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • reassignInputEnablerToSystem

      void reassignInputEnablerToSystem(Id inputEnablerId, Id fromSystemId, Id toSystemId) throws AlreadyExistsException, NotFoundException, OperationFailedException, PermissionDeniedException
      Moves an InputEnabler from one System to another. Mappings to other Systems are unaffected.
      Parameters:
      inputEnablerId - the Id of the InputEnabler
      fromSystemId - the Id of the current System
      toSystemId - the Id of the destination System
      Throws:
      AlreadyExistsException - inputEnablerId already assigned to toSystemId
      NotFoundException - inputEnablerId, fromSystemId , or toSystemId not found or inputEnablerId not mapped to fromSystemId
      NullArgumentException - inputEnablerId, fromSystemId , or toSystemId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.