Class VehicleProcessModel

java.lang.Object
org.opentcs.drivers.vehicle.VehicleProcessModel

public class VehicleProcessModel extends Object
An observable model of a vehicle's and its comm adapter's attributes.
  • Constructor Details

    • VehicleProcessModel

      public VehicleProcessModel(@Nonnull Vehicle attachedVehicle)
      Creates a new instance.
      Parameters:
      attachedVehicle - The vehicle attached to the new instance.
  • Method Details

    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      Registers a new property change listener with this model.
      Parameters:
      listener - The listener to be registered.
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Unregisters a property change listener from this model.
      Parameters:
      listener - The listener to be unregistered.
    • getReference

      @Nonnull public TCSObjectReference<Vehicle> getReference()
      Returns a reference to the vehicle.
      Returns:
      A reference to the vehicle.
    • getName

      @Nonnull public String getName()
      Returns the vehicle's name.
      Returns:
      The vehicle's name.
    • getNotifications

      @Nonnull public Queue<UserNotification> getNotifications()
      Returns user notifications published by the comm adapter.
      Returns:
      The notifications.
    • publishUserNotification

      public void publishUserNotification(@Nonnull UserNotification notification)
      Publishes an user notification.
      Parameters:
      notification - The notification to be published.
    • publishEvent

      public void publishEvent(@Nonnull VehicleCommAdapterEvent event)
      Publishes an event via the kernel's event mechanism.
      Parameters:
      event - The event to be published.
    • isCommAdapterEnabled

      public boolean isCommAdapterEnabled()
      Indicates whether the comm adapter is currently enabled or not.
      Returns:
      true if, and only if, the comm adapter is currently enabled.
    • setCommAdapterEnabled

      public void setCommAdapterEnabled(boolean commAdapterEnabled)
      Sets the comm adapter's enabled flag.
      Parameters:
      commAdapterEnabled - The new value.
    • isCommAdapterConnected

      public boolean isCommAdapterConnected()
      Indicates whether the comm adapter is currently connected or not.
      Returns:
      true if, and only if, the comm adapter is currently connected.
    • setCommAdapterConnected

      public void setCommAdapterConnected(boolean commAdapterConnected)
      Sets the comm adapter's connected flag.
      Parameters:
      commAdapterConnected - The new value.
    • getPosition

      @Nullable public String getPosition()
      Returns the vehicle's current position.
      Returns:
      The position.
    • setPosition

      public void setPosition(@Nullable String position)
      Updates the vehicle's current position.
      Parameters:
      position - The new position
    • getPrecisePosition

      @Nullable public Triple getPrecisePosition()
      Returns the vehicle's precise position.
      Returns:
      The vehicle's precise position.
    • setPrecisePosition

      public void setPrecisePosition(@Nullable Triple position)
      Sets the vehicle's precise position.
      Parameters:
      position - The new position.
    • getOrientationAngle

      public double getOrientationAngle()
      Returns the vehicle's current orientation angle.
      Returns:
      The vehicle's current orientation angle.
      See Also:
    • setOrientationAngle

      public void setOrientationAngle(double angle)
      Sets the vehicle's current orientation angle.
      Parameters:
      angle - The new angle
    • getEnergyLevel

      public int getEnergyLevel()
      Returns the vehicle's current energy level.
      Returns:
      The vehicle's current energy level.
    • setEnergyLevel

      public void setEnergyLevel(int newLevel)
      Sets the vehicle's current energy level.
      Parameters:
      newLevel - The new level.
    • getLoadHandlingDevices

      @Nonnull public List<LoadHandlingDevice> getLoadHandlingDevices()
      Returns the vehicle's load handling devices.
      Returns:
      The vehicle's load handling devices.
    • setLoadHandlingDevices

      public void setLoadHandlingDevices(@Nonnull List<LoadHandlingDevice> devices)
      Sets the vehicle's load handling devices.
      Parameters:
      devices - The new devices
    • setProperty

      public void setProperty(@Nonnull String key, @Nullable String value)
      Sets a property of the vehicle.
      Parameters:
      key - The property's key.
      value - The property's new value.
    • getState

      @Nonnull public Vehicle.State getState()
      Returns the vehicle's current state.
      Returns:
      The state
    • setState

      public void setState(@Nonnull Vehicle.State newState)
      Sets the vehicle's current state.
      Parameters:
      newState - The new state
    • getLength

      public int getLength()
      Returns the vehicle's current length.
      Returns:
      The vehicle's current length.
    • setLength

      public void setLength(int length)
      Sets the vehicle's current length.
      Parameters:
      length - The new length.
    • setTransportOrderProperty

      public void setTransportOrderProperty(@Nonnull String key, @Nullable String value)
      Sets a property of the transport order the vehicle is currently processing.
      Parameters:
      key - The property's key.
      value - The property's new value.
    • commandEnqueued

      public void commandEnqueued(@Nonnull MovementCommand enqueuedCommand)
      Notifies observers that the given command has been added to the comm adapter's command queue.
      Parameters:
      enqueuedCommand - The command that has been added to the queue.
    • commandSent

      public void commandSent(@Nonnull MovementCommand sentCommand)
      Notifies observers that the given command has been sent to the associated vehicle.
      Parameters:
      sentCommand - The command that has been sent to the vehicle.
    • commandExecuted

      public void commandExecuted(@Nonnull MovementCommand executedCommand)
      Notifies observers that the given command has been executed by the comm adapter/vehicle.
      Parameters:
      executedCommand - The command that has been executed.
    • commandFailed

      public void commandFailed(@Nonnull MovementCommand failedCommand)
      Notifies observers that the given command could not be executed by the comm adapter/vehicle.
      Parameters:
      failedCommand - The command that could not be executed.
    • integrationLevelChangeRequested

      public void integrationLevelChangeRequested(@Nonnull Vehicle.IntegrationLevel level)
      Notifies observers that the vehicle would like to have its integration level changed.
      Parameters:
      level - The integration level to change to.
    • transportOrderWithdrawalRequested

      public void transportOrderWithdrawalRequested(boolean forced)
      Notifies observers that the vehicle would like to have its current transport order withdrawn.
      Parameters:
      forced - Whether a forced withdrawal is requested.
    • getPropertyChangeSupport

      protected PropertyChangeSupport getPropertyChangeSupport()