Package org.opentcs.drivers.vehicle
Class VehicleProcessModel
java.lang.Object
org.opentcs.drivers.vehicle.VehicleProcessModel
An observable model of a vehicle's and its comm adapter's attributes.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Notification arguments to indicate some change.static class
A notification object sent to observers to indicate a change of a property.static class
A notification object sent to observers to indicate a change of a transport order's property.static class
A notification object sent to observers to indicate a change of a vehicle's property. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Registers a new property change listener with this model.void
commandEnqueued
(MovementCommand enqueuedCommand) Notifies observers that the given command has been added to the comm adapter's command queue.void
commandExecuted
(MovementCommand executedCommand) Notifies observers that the given command has been executed by the comm adapter/vehicle.void
commandFailed
(MovementCommand failedCommand) Notifies observers that the given command could not be executed by the comm adapter/vehicle.void
commandSent
(MovementCommand sentCommand) Notifies observers that the given command has been sent to the associated vehicle.int
Returns the vehicle's current energy level.int
Returns the vehicle's current length.Returns the vehicle's load handling devices.getName()
Returns the vehicle's name.Returns user notifications published by the comm adapter.double
Returns the vehicle's current orientation angle.Returns the vehicle's current position.Returns the vehicle's precise position.protected PropertyChangeSupport
Returns a reference to the vehicle.getState()
Returns the vehicle's current state.void
Notifies observers that the vehicle would like to have its integration level changed.boolean
Indicates whether the comm adapter is currently connected or not.boolean
Indicates whether the comm adapter is currently enabled or not.void
Publishes an event via the kernel's event mechanism.void
publishUserNotification
(UserNotification notification) Publishes an user notification.void
Unregisters a property change listener from this model.void
setCommAdapterConnected
(boolean commAdapterConnected) Sets the comm adapter's connected flag.void
setCommAdapterEnabled
(boolean commAdapterEnabled) Sets the comm adapter's enabled flag.void
setEnergyLevel
(int newLevel) Sets the vehicle's current energy level.void
setLength
(int length) Sets the vehicle's current length.void
setLoadHandlingDevices
(List<LoadHandlingDevice> devices) Sets the vehicle's load handling devices.void
setOrientationAngle
(double angle) Sets the vehicle's current orientation angle.void
setPosition
(String position) Updates the vehicle's current position.void
setPrecisePosition
(Triple position) Sets the vehicle's precise position.void
setProperty
(String key, String value) Sets a property of the vehicle.void
setState
(Vehicle.State newState) Sets the vehicle's current state.void
setTransportOrderProperty
(String key, String value) Sets a property of the transport order the vehicle is currently processing.void
transportOrderWithdrawalRequested
(boolean forced) Notifies observers that the vehicle would like to have its current transport order withdrawn.
-
Constructor Details
-
VehicleProcessModel
Creates a new instance.- Parameters:
attachedVehicle
- The vehicle attached to the new instance.
-
-
Method Details
-
addPropertyChangeListener
Registers a new property change listener with this model.- Parameters:
listener
- The listener to be registered.
-
removePropertyChangeListener
Unregisters a property change listener from this model.- Parameters:
listener
- The listener to be unregistered.
-
getReference
Returns a reference to the vehicle.- Returns:
- A reference to the vehicle.
-
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:
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
Returns the vehicle's current position.- Returns:
- The position.
-
setPosition
Updates the vehicle's current position.- Parameters:
position
- The new position
-
getPrecisePosition
Returns the vehicle's precise position.- Returns:
- The vehicle's precise position.
-
setPrecisePosition
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
Returns the vehicle's load handling devices.- Returns:
- The vehicle's load handling devices.
-
setLoadHandlingDevices
Sets the vehicle's load handling devices.- Parameters:
devices
- The new devices
-
setProperty
Sets a property of the vehicle.- Parameters:
key
- The property's key.value
- The property's new value.
-
getState
Returns the vehicle's current state.- Returns:
- The state
-
setState
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
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.
-
integrationLevelChangeRequested
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
-