Package org.opentcs.customizations.kernel

# Class KernelInjectionModule

java.lang.Object
com.google.inject.AbstractModule
org.opentcs.customizations.ConfigurableInjectionModule
org.opentcs.customizations.kernel.KernelInjectionModule

All Implemented Interfaces:
  `com.google.inject.Module`

    public abstract class KernelInjectionModule
    extends ConfigurableInjectionModule

A base class for Guice modules adding or customizing bindings for the kernel application.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `KernelInjectionModule()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected void` | `bindDispatcher​(java.lang.Class<? extends org.opentcs.components.kernel.Dispatcher> clazz)` | Sets the dispatcher implementation to be used.
  `protected void` | `bindPeripheralJobDispatcher​(java.lang.Class<? extends org.opentcs.components.kernel.PeripheralJobDispatcher> clazz)` | Sets the peripheral job dispatcher implementation to be used.
  `protected void` | `bindRouter​(java.lang.Class<? extends org.opentcs.components.kernel.Router> clazz)` | Sets the router implementation to be used.
  `protected void` | `bindScheduler​(java.lang.Class<? extends org.opentcs.components.kernel.Scheduler> clazz)` | Sets the scheduler implementation to be used.
  `protected com.google.inject.multibindings.MapBinder<java.lang.String,​org.opentcs.components.kernel.routing.EdgeEvaluator>` | `edgeEvaluatorBinder()` | Returns a mapbinder that can be used to register edge evaluators.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension>` | `extensionsBinderAllModes()` | Returns a multibinder that can be used to register kernel extensions for all kernel states.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension>` | `extensionsBinderModelling()` | Returns a multibinder that can be used to register kernel extensions for the kernel's modelling state.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension>` | `extensionsBinderOperating()` | Returns a multibinder that can be used to register kernel extensions for the kernel's operating state.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.OrderSequenceCleanupApproval>` | `orderSequenceCleanupApprovalBinder()` | Returns a multibinder that can be used to register order sequence cleanup approvals.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.drivers.peripherals.PeripheralCommAdapterFactory>` | `peripheralCommAdaptersBinder()` | Returns a multibinder that can be used to register peripheral communication adapter factories.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.Scheduler.Module>` | `schedulerModuleBinder()` | Returns a multibinder that can be used to register scheduler modules.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.TransportOrderCleanupApproval>` | `transportOrderCleanupApprovalBinder()` | Returns a multibinder that can be used to register transport order cleanup approvals.
  `protected com.google.inject.multibindings.Multibinder<org.opentcs.drivers.vehicle.VehicleCommAdapterFactory>` | `vehicleCommAdaptersBinder()` | Returns a multibinder that can be used to register vehicle communication adapter factories.

  ### Methods inherited from class org.opentcs.customizations.ConfigurableInjectionModule

  `getConfigBindingProvider, setConfigBindingProvider`

  ### Methods inherited from class com.google.inject.AbstractModule

  `addError, addError, addError, bind, bind, bind, bindConstant, binder, bindInterceptor, bindListener, bindListener, bindScope, configure, configure, convertToTypes, currentStage, getMembersInjector, getMembersInjector, getProvider, getProvider, install, requestInjection, requestStaticInjection, requireBinding, requireBinding`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### KernelInjectionModule

    public KernelInjectionModule()

- ## Method Details

  - ### bindScheduler

    protected void bindScheduler​(java.lang.Class<? extends org.opentcs.components.kernel.Scheduler> clazz)
    Sets the scheduler implementation to be used.
    Parameters:
      `clazz` - The implementation.

  - ### bindRouter

    protected void bindRouter​(java.lang.Class<? extends org.opentcs.components.kernel.Router> clazz)
    Sets the router implementation to be used.
    Parameters:
      `clazz` - The implementation.

  - ### bindDispatcher

    protected void bindDispatcher​(java.lang.Class<? extends org.opentcs.components.kernel.Dispatcher> clazz)
    Sets the dispatcher implementation to be used.
    Parameters:
      `clazz` - The implementation.

  - ### bindPeripheralJobDispatcher

    protected void bindPeripheralJobDispatcher​(java.lang.Class<? extends org.opentcs.components.kernel.PeripheralJobDispatcher> clazz)
    Sets the peripheral job dispatcher implementation to be used.
    Parameters:
      `clazz` - The implementation.

  - ### extensionsBinderAllModes

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension> extensionsBinderAllModes()
    Returns a multibinder that can be used to register kernel extensions for all kernel states.
    Returns:
      The multibinder.

  - ### extensionsBinderModelling

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension> extensionsBinderModelling()
    Returns a multibinder that can be used to register kernel extensions for the kernel's modelling state.
    Returns:
      The multibinder.

  - ### extensionsBinderOperating

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.KernelExtension> extensionsBinderOperating()
    Returns a multibinder that can be used to register kernel extensions for the kernel's operating state.
    Returns:
      The multibinder.

  - ### vehicleCommAdaptersBinder

    protected com.google.inject.multibindings.Multibinder<org.opentcs.drivers.vehicle.VehicleCommAdapterFactory> vehicleCommAdaptersBinder()
    Returns a multibinder that can be used to register vehicle communication adapter factories.
    Returns:
      The multibinder.

  - ### peripheralCommAdaptersBinder

    protected com.google.inject.multibindings.Multibinder<org.opentcs.drivers.peripherals.PeripheralCommAdapterFactory> peripheralCommAdaptersBinder()
    Returns a multibinder that can be used to register peripheral communication adapter factories.
    Returns:
      The multibinder.

  - ### transportOrderCleanupApprovalBinder

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.TransportOrderCleanupApproval> transportOrderCleanupApprovalBinder()
    Returns a multibinder that can be used to register transport order cleanup approvals.
    Returns:
      The multibinder.

  - ### orderSequenceCleanupApprovalBinder

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.OrderSequenceCleanupApproval> orderSequenceCleanupApprovalBinder()
    Returns a multibinder that can be used to register order sequence cleanup approvals.
    Returns:
      The multibinder.

  - ### schedulerModuleBinder

    protected com.google.inject.multibindings.Multibinder<org.opentcs.components.kernel.Scheduler.Module> schedulerModuleBinder()
    Returns a multibinder that can be used to register scheduler modules.
    Returns:
      The multibinder.

  - ### edgeEvaluatorBinder

    protected com.google.inject.multibindings.MapBinder<java.lang.String,​org.opentcs.components.kernel.routing.EdgeEvaluator> edgeEvaluatorBinder()
    Returns a mapbinder that can be used to register edge evaluators.
    Returns:
      The mapbinder.