Package org.opentcs.drivers.vehicle
Class VehicleProcessModel
java.lang.Object
org.opentcs.drivers.vehicle.VehicleProcessModel
public class VehicleProcessModel
extends java.lang.Object
An observable model of a vehicle's and its comm adapter's attributes.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVehicleProcessModel.AttributeNotification arguments to indicate some change.static classVehicleProcessModel.PropertyUpdateA notification object sent to observers to indicate a change of a property.static classVehicleProcessModel.TransportOrderPropertyUpdateA notification object sent to observers to indicate a change of a transport order's property.static classVehicleProcessModel.VehiclePropertyUpdateA notification object sent to observers to indicate a change of a vehicle's property. -
Constructor Summary
Constructors Constructor Description VehicleProcessModel(Vehicle attachedVehicle)Creates a new instance. -
Method Summary
Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)Registers a new property change listener with this model.voidcommandEnqueued(MovementCommand enqueuedCommand)Notifies observers that the given command has been added to the comm adapter's command queue.voidcommandExecuted(MovementCommand executedCommand)Notifies observers that the given command has been executed by the comm adapter/vehicle.voidcommandFailed(MovementCommand failedCommand)Notifies observers that the given command could not be executed by the comm adapter/vehicle.voidcommandSent(MovementCommand sentCommand)Notifies observers that the given command has been sent to the associated vehicle.java.lang.StringgetName()Returns the vehicle's name.java.util.Queue<UserNotification>getNotifications()Returns user notifications published by the comm adapter.protected java.beans.PropertyChangeSupportgetPropertyChangeSupport()intgetVehicleEnergyLevel()Returns the vehicle's current energy level.java.util.List<LoadHandlingDevice>getVehicleLoadHandlingDevices()Returns the vehicle's load handling devices.doublegetVehicleOrientationAngle()Returns the vehicle's current orientation angle.java.lang.StringgetVehiclePosition()Returns the vehicle's current position.TriplegetVehiclePrecisePosition()Returns the vehicle's precise position.TCSObjectReference<Vehicle>getVehicleReference()Returns a reference to the vehicle.Vehicle.StategetVehicleState()Returns the vehicle's current state.booleanisCommAdapterConnected()Indicates whether the comm adapter is currently connected or not.booleanisCommAdapterEnabled()Indicates whether the comm adapter is currently enabled or not.voidpublishEvent(VehicleCommAdapterEvent event)Publishes an event via the kernel's event mechanism.voidpublishUserNotification(UserNotification notification)Publishes an user notification.voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)Unregisters a property change listener from this model.voidsetCommAdapterConnected(boolean commAdapterConnected)Sets the comm adapter's connected flag.voidsetCommAdapterEnabled(boolean commAdapterEnabled)Sets the comm adapter's enabled flag.voidsetTransportOrderProperty(java.lang.String key, java.lang.String value)Sets a property of the transport order the vehicle is currently processing.voidsetVehicleEnergyLevel(int newLevel)Sets the vehicle's current energy level.voidsetVehicleLoadHandlingDevices(java.util.List<LoadHandlingDevice> devices)Sets the vehicle's load handling devices.voidsetVehicleOrientationAngle(double angle)Sets the vehicle's current orientation angle.voidsetVehiclePosition(java.lang.String position)Updates the vehicle's current position.voidsetVehiclePrecisePosition(Triple position)Sets the vehicle's precise position.voidsetVehicleProperty(java.lang.String key, java.lang.String value)Sets a property of the vehicle.voidsetVehicleState(Vehicle.State newState)Sets the vehicle's current state.
-
Constructor Details
-
VehicleProcessModel
Creates a new instance.- Parameters:
attachedVehicle- The vehicle attached to the new instance.
-
-
Method Details
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)Registers a new property change listener with this model.- Parameters:
listener- The listener to be registered.
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)Unregisters a property change listener from this model.- Parameters:
listener- The listener to be unregistered.
-
getVehicleReference
Returns a reference to the vehicle.- Returns:
- A reference to the vehicle.
-
getName
@Nonnull public java.lang.String getName()Returns the vehicle's name.- Returns:
- The vehicle's name.
-
getNotifications
Returns user notifications published by the comm adapter.- Returns:
- The notifications.
-
publishUserNotification
Publishes an user notification.- Parameters:
notification- The notification to be published.
-
publishEvent
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:
trueif, 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:
trueif, 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.
-
getVehiclePosition
@Nullable public java.lang.String getVehiclePosition()Returns the vehicle's current position.- Returns:
- The position.
-
setVehiclePosition
public void setVehiclePosition(@Nullable java.lang.String position)Updates the vehicle's current position.- Parameters:
position- The new position
-
getVehiclePrecisePosition
Returns the vehicle's precise position.- Returns:
- The vehicle's precise position.
-
setVehiclePrecisePosition
Sets the vehicle's precise position.- Parameters:
position- The new position.
-
getVehicleOrientationAngle
public double getVehicleOrientationAngle()Returns the vehicle's current orientation angle.- Returns:
- The vehicle's current orientation angle.
- See Also:
Vehicle.getOrientationAngle()
-
setVehicleOrientationAngle
public void setVehicleOrientationAngle(double angle)Sets the vehicle's current orientation angle.- Parameters:
angle- The new angle
-
getVehicleEnergyLevel
public int getVehicleEnergyLevel()Returns the vehicle's current energy level.- Returns:
- The vehicle's current energy level.
-
setVehicleEnergyLevel
public void setVehicleEnergyLevel(int newLevel)Sets the vehicle's current energy level.- Parameters:
newLevel- The new level.
-
getVehicleLoadHandlingDevices
Returns the vehicle's load handling devices.- Returns:
- The vehicle's load handling devices.
-
setVehicleLoadHandlingDevices
Sets the vehicle's load handling devices.- Parameters:
devices- The new devices
-
setVehicleProperty
public void setVehicleProperty(@Nonnull java.lang.String key, @Nullable java.lang.String value)Sets a property of the vehicle.- Parameters:
key- The property's key.value- The property's new value.
-
getVehicleState
Returns the vehicle's current state.- Returns:
- The state
-
setVehicleState
Sets the vehicle's current state.- Parameters:
newState- The new state
-
setTransportOrderProperty
public void setTransportOrderProperty(@Nonnull java.lang.String key, @Nullable java.lang.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
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
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
Notifies observers that the given command has been executed by the comm adapter/vehicle.- Parameters:
executedCommand- The command that has been executed.
-
commandFailed
Notifies observers that the given command could not be executed by the comm adapter/vehicle.- Parameters:
failedCommand- The command that could not be executed.
-
getPropertyChangeSupport
protected java.beans.PropertyChangeSupport getPropertyChangeSupport()
-