Package io.datarouter.storage.config
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 voidaddSettingRoot(java.lang.Class<? extends SettingRoot> settingRoot)DaosModuleBuildergetDaosModuleBuilder()abstract java.lang.StringgetName()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 voidsetDaosModule(DaosModuleBuilder daosModule)Methods inherited from class io.datarouter.inject.guice.BaseGuiceModule
bindUnsupported, getGuiceBinderMethods 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
-
Constructor Details
-
BasePlugin
public BasePlugin()
-
-
Method Details
-
addSettingRoot
-
setDaosModule
-
getDaosModuleBuilder
-
getSettingRoots
-
getName
public abstract java.lang.String getName()The name is used to identify which plugins have already been added, and which can be overridden. Names have to be unique and can be easily changed.- Returns:
- the name of the plugin
-