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, 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

  • 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.