Interface SpeedZoneEnablerAdminSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SpeedZoneEnablerAdminSession extends OsidSession

This session creates and removes speed zone enablers. The data for create and update is provided via the SpeedZoneEnablerForm .

  • Method Details

    • getMapId

      Id getMapId()
      Gets the Map Id associated with this session.
      Returns:
      the Map Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getMap

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

      boolean canCreateSpeedZoneEnabler()
      Tests if this user can create speed zone enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known creating a SpeedZoneEnabler 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 SpeedZoneEnabler creation is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • canCreateSpeedZoneEnablerWithRecordTypes

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

      SpeedZoneEnablerForm getSpeedZoneEnablerFormForCreate(Type[] speedZoneEnablerRecordTypes) throws OperationFailedException, PermissionDeniedException
      Gets the speed zone enabler form for creating new speed zone enablers. A new form should be requested for each create transaction.
      Parameters:
      speedZoneEnablerRecordTypes - array of speed zone enabler record types
      Returns:
      the speed zone enabler form
      Throws:
      NullArgumentException - speedZoneEnablerRecordTypes 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.
    • createSpeedZoneEnabler

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

      boolean canUpdateSpeedZoneEnablers()
      Tests if this user can update speed zone enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known updating a SpeedZoneEnabler 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 SpeedZoneEnabler modification is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSpeedZoneEnablerFormForUpdate

      SpeedZoneEnablerForm getSpeedZoneEnablerFormForUpdate(Id speedZoneEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the speed zone enabler form for updating an existing speed zone enabler. A new speed zone enabler form should be requested for each update transaction.
      Parameters:
      speedZoneEnablerId - the Id of the SpeedZoneEnabler
      Returns:
      the speed zone enabler form
      Throws:
      NotFoundException - speedZoneEnablerId is not found
      NullArgumentException - speedZoneEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • updateSpeedZoneEnabler

      void updateSpeedZoneEnabler(SpeedZoneEnablerForm speedZoneEnablerForm) throws OperationFailedException, PermissionDeniedException
      Updates an existing speed zone enabler.
      Parameters:
      speedZoneEnablerForm - the form containing the elements to be updated
      Throws:
      IllegalStateException - speedZoneEnablerForm already used in an update transaction
      InvalidArgumentException - the form contains an invalid value
      NullArgumentException - speedZoneEnablerForm is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - speedZoneEnablerForm did not originate from getSpeedZoneEnablerFormForUpdate()
      Compliance:
      mandatory - This method must be implemented.
    • canDeleteSpeedZoneEnablers

      boolean canDeleteSpeedZoneEnablers()
      Tests if this user can delete speed zone enablers. A return of true does not guarantee successful authorization. A return of false indicates that it is known deleting a SpeedZoneEnabler 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 SpeedZoneEnabler deletion is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • deleteSpeedZoneEnabler

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

      boolean canManageSpeedZoneEnablerAliases()
      Tests if this user can manage Id aliases for speed zone 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 SpeedZoneEnabler aliasing is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • aliasSpeedZoneEnabler

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