Package org.opentcs.components.kernel.services

# Interface InternalTransportOrderService

All Superinterfaces:
  `TCSObjectService`, `TransportOrderService`

    public interface InternalTransportOrderService
    extends TransportOrderService

Declares the methods the transport order service must provide which are not accessible to remote peers.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `markOrderSequenceFinished​(TCSObjectReference<OrderSequence> ref)` | Sets an order sequence's finished flag.
  `void` | `updateOrderSequenceFinishedIndex​(TCSObjectReference<OrderSequence> ref, int index)` | Updates an order sequence's finished index.
  `void` | `updateOrderSequenceProcessingVehicle​(TCSObjectReference<OrderSequence> seqRef, TCSObjectReference<Vehicle> vehicleRef)` | Updates an order sequence's processing vehicle.
  `void` | `updateTransportOrderDriveOrders​(TCSObjectReference<TransportOrder> ref, java.util.List<DriveOrder> driveOrders)` | Updates a transport order's list of drive orders.
  `void` | `updateTransportOrderNextDriveOrder​(TCSObjectReference<TransportOrder> ref)` | Updates a transport order's current drive order.
  `void` | `updateTransportOrderProcessingVehicle​(TCSObjectReference<TransportOrder> orderRef, TCSObjectReference<Vehicle> vehicleRef, java.util.List<DriveOrder> driveOrders)` | Updates a transport order's processing vehicle.
  `void` | `updateTransportOrderState​(TCSObjectReference<TransportOrder> ref, TransportOrder.State state)` | Updates a transport order's state.

  ### Methods inherited from interface org.opentcs.components.kernel.services.TCSObjectService

  `appendObjectHistoryEntry, fetchObject, fetchObject, fetchObjects, fetchObjects, updateObjectProperty`

  ### Methods inherited from interface org.opentcs.components.kernel.services.TransportOrderService

  `createOrderSequence, createTransportOrder, markOrderSequenceComplete`

- ## Method Details

  - ### markOrderSequenceFinished

    void markOrderSequenceFinished​(TCSObjectReference<OrderSequence> ref) throws ObjectUnknownException
    Sets an order sequence's finished flag.
    Parameters:
      `ref` - A reference to the order sequence to be modified.
    Throws:
      `ObjectUnknownException` - If the referenced transport order is not in this pool.

  - ### updateOrderSequenceFinishedIndex

    void updateOrderSequenceFinishedIndex​(TCSObjectReference<OrderSequence> ref, int index) throws ObjectUnknownException
    Updates an order sequence's finished index.
    Parameters:
      `ref` - A reference to the order sequence to be modified.
      `index` - The sequence's new finished index.
    Throws:
      `ObjectUnknownException` - If the referenced transport order is not in this pool.

  - ### updateOrderSequenceProcessingVehicle

    void updateOrderSequenceProcessingVehicle​(TCSObjectReference<OrderSequence> seqRef, TCSObjectReference<Vehicle> vehicleRef) throws ObjectUnknownException
    Updates an order sequence's processing vehicle.
    Parameters:
      `seqRef` - A reference to the order sequence to be modified.
      `vehicleRef` - A reference to the vehicle processing the order sequence.
    Throws:
      `ObjectUnknownException` - If the referenced transport order is not in this pool.

  - ### updateTransportOrderDriveOrders

    void updateTransportOrderDriveOrders​(TCSObjectReference<TransportOrder> ref, java.util.List<DriveOrder> driveOrders) throws ObjectUnknownException
    Updates a transport order's list of drive orders.
    Parameters:
      `ref` - A reference to the transport order to be modified.
      `driveOrders` - The drive orders containing the data to be copied into this transport order's drive orders.
    Throws:
      `ObjectUnknownException` - If the referenced transport order does not exist.

  - ### updateTransportOrderNextDriveOrder

    void updateTransportOrderNextDriveOrder​(TCSObjectReference<TransportOrder> ref) throws ObjectUnknownException
    Updates a transport order's current drive order. Marks the current drive order as finished, adds it to the list of past drive orders and sets the current drive order to the next one of the list of future drive orders (or `null`, if that list is empty). If the current drive order is `null` because all drive orders have been finished already or none has been started, yet, nothing happens.
    Parameters:
      `ref` - A reference to the transport order to be modified.
    Throws:
      `ObjectUnknownException` - If the referenced transport order is not in this pool.

  - ### updateTransportOrderProcessingVehicle

    void updateTransportOrderProcessingVehicle​(TCSObjectReference<TransportOrder> orderRef, TCSObjectReference<Vehicle> vehicleRef, java.util.List<DriveOrder> driveOrders) throws ObjectUnknownException, java.lang.IllegalArgumentException
    Updates a transport order's processing vehicle.
    Parameters:
      `orderRef` - A reference to the transport order to be modified.
      `vehicleRef` - A reference to the vehicle processing the order.
      `driveOrders` - The drive orders containing the data to be copied into this transport order's drive orders.
    Throws:
      `ObjectUnknownException` - If the referenced transport order does not exist.
      `java.lang.IllegalArgumentException` - If the destinations of the given drive orders do not match the destinations of the drive orders in this transport order.

  - ### updateTransportOrderState

    void updateTransportOrderState​(TCSObjectReference<TransportOrder> ref, TransportOrder.State state) throws ObjectUnknownException
    Updates a transport order's state. Note that transport order states are intended to be manipulated by the dispatcher only. Calling this method from any other parts of the kernel may result in undefined behaviour.
    Parameters:
      `ref` - A reference to the transport order to be modified.
      `state` - The transport order's new state.
    Throws:
      `ObjectUnknownException` - If the referenced transport order does not exist.