# Package org.opentcs.components.kernel

Interfaces for pluggable strategies and other components for a kernel application.

- Interface Summary
  Interface | Description
  --- | ---
  Dispatcher | This interface declares the methods a dispatcher module for the openTCS kernel must implement.
  KernelExtension | Declares the methods that a generic kernel extension must implement.
  ObjectNameProvider | Provides names for `CreationTO`s.
  OrderSequenceCleanupApproval | Implementations of this interface check whether an order sequence may be removed.
  PeripheralJobDispatcher | This interface declares the methods a peripheral job dispatcher module for the openTCS kernel must implement.
  Query<T> | Marks a query (parameter) object.
  QueryResponder | A responder for generic queries.
  Router | This interface declares the methods a router module for the openTCS kernel must implement.
  Scheduler | Manages resources used by clients (vehicles) to help prevent both collisions and deadlocks.
  Scheduler.Client | Defines callback methods for clients of the resource scheduler.
  Scheduler.Module | A scheduler module.
  TransportOrderCleanupApproval | Implementations of this interface check whether a transport order may be removed.

- Class Summary
  Class | Description
  --- | ---
  Query.Void | A convenience class to be used as the result type for queries that do not return any result.

- Exception Summary
  Exception | Description
  --- | ---
  ResourceAllocationException | Thrown when allocating resources for a `Scheduler.Client` is impossible.