Class BasePlugin

java.lang.Object
com.google.inject.AbstractModule
io.datarouter.inject.guice.BaseGuiceModule
io.datarouter.storage.config.BasePlugin
All Implemented Interfaces:
com.google.inject.Module, io.datarouter.inject.guice.GuiceOptionalBinder
Direct Known Subclasses:
DatarouterStoragePlugin

public abstract class BasePlugin
extends io.datarouter.inject.guice.BaseGuiceModule
Plugins are verbose wrappers around GuiceModules for easy installation of datarouter modules. They use a builder pattern to specify required and optional implementations of classes used by the module. Some modules have their own extensions of BasePlugin which allows more features to get configured easily. BasePlugin auto configures and binds cluster settings and dao registration.
  • Constructor Summary

    Constructors 
    Constructor Description
    BasePlugin()  
  • Method Summary

    Modifier and Type Method Description
    protected void addSettingRoot​(java.lang.Class<? extends SettingRoot> settingRoot)  
    DaosModuleBuilder getDaosModuleBuilder()  
    abstract java.lang.String getName()
    The name is used to identify which plugins have already been added, and which can be overridden.
    java.util.List<java.lang.Class<? extends SettingRoot>> getSettingRoots()  
    protected void setDaosModule​(DaosModuleBuilder daosModule)  

    Methods inherited from class io.datarouter.inject.guice.BaseGuiceModule

    bindUnsupported, getGuiceBinder

    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

    Methods inherited from interface io.datarouter.inject.guice.GuiceOptionalBinder

    bindActual, bindActualInstance, bindActualInstance, bindActualInstance, bindDefault, bindDefaultInstance, bindDefaultInstance, bindDefaultInstance, optionalBinder, optionalBinder, optionalBinder