Interface ActionGroupSystemAssignmentSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActionGroupSystemAssignmentSession extends OsidSession

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

  • Method Details

    • canAssignActionGroups

      boolean canAssignActionGroups()
      Tests if this user can alter action group/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 assignment operations to unauthorized users.
      Returns:
      false if mapping is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canAssignActionGroupsToSystem

      boolean canAssignActionGroupsToSystem(Id systemId)
      Tests if this user can alter action group/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 assignment 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 action group can be assigned.
      Parameters:
      systemId - the Id of the System
      Returns:
      list of assignable system Ids
      Throws:
      NullArgumentException - systemId is null
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAssignableSystemIdsForActionGroup

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

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

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

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