Package org.apache.druid.guice
Class DruidInjectorBuilder
- java.lang.Object
-
- org.apache.druid.guice.DruidInjectorBuilder
-
- Direct Known Subclasses:
CoreInjectorBuilder,ExtensionInjectorBuilder,ServiceInjectorBuilder
public class DruidInjectorBuilder extends Object
Druid-enabled injector builder which supportsDruidModules, module classes created from the base injector, and filtering based on properties andLoadScopeannotations.Can be used in clients and tests, in which case no module filtering is done. Presumably, the test or client has already selected the modules that it needs.
Druid injector builders can be chained with an earlier builder providing a set of modules which a later builder overrides. Again, this is typically used only in the server, not in clients or tests.
-
-
Field Summary
Fields Modifier and Type Field Description protected com.google.inject.InjectorbaseInjector
-
Constructor Summary
Constructors Constructor Description DruidInjectorBuilder(com.google.inject.Injector baseInjector)DruidInjectorBuilder(com.google.inject.Injector baseInjector, Set<NodeRole> nodeRoles)DruidInjectorBuilder(DruidInjectorBuilder from)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DruidInjectorBuilderadd(Object... input)Add an arbitrary set of modules.DruidInjectorBuilderaddAll(List<? extends Object> inputs)DruidInjectorBuilderaddClass(Class<?> input)DruidInjectorBuilderaddInput(Object input)Add an arbitraryModule,DruidModuleinstance, or a subclass of these classes.DruidInjectorBuilderaddModule(com.google.inject.Module module)DruidInjectorBuilderaddModules(com.google.inject.Module... inputs)com.google.inject.InjectorbaseInjector()com.google.inject.Injectorbuild()DruidInjectorBuilderignoreLoadScopes()Ignore load scope annotations on modules.List<com.google.inject.Module>modules()
-
-
-
Constructor Detail
-
DruidInjectorBuilder
public DruidInjectorBuilder(com.google.inject.Injector baseInjector)
-
DruidInjectorBuilder
public DruidInjectorBuilder(com.google.inject.Injector baseInjector, Set<NodeRole> nodeRoles)
-
DruidInjectorBuilder
public DruidInjectorBuilder(DruidInjectorBuilder from)
-
-
Method Detail
-
ignoreLoadScopes
public DruidInjectorBuilder ignoreLoadScopes()
Ignore load scope annotations on modules. Primarily for testing where a unit test is not any Druid node, and may wish to load a module that is annotated with a load scope.
-
add
public DruidInjectorBuilder add(Object... input)
Add an arbitrary set of modules.
-
addModules
public DruidInjectorBuilder addModules(com.google.inject.Module... inputs)
-
addAll
public DruidInjectorBuilder addAll(List<? extends Object> inputs)
-
addInput
public DruidInjectorBuilder addInput(Object input)
Add an arbitraryModule,DruidModuleinstance, or a subclass of these classes. If a class is provided, it is instantiated using the base injector to allow dependency injection. If a module instance is provided, its members are injected. Note that such modules have visibility only to objects defined in the base injector, but not to objects defined in the injector being built.
-
addModule
public DruidInjectorBuilder addModule(com.google.inject.Module module)
-
addClass
public DruidInjectorBuilder addClass(Class<?> input)
-
modules
public List<com.google.inject.Module> modules()
-
build
public com.google.inject.Injector build()
-
baseInjector
public com.google.inject.Injector baseInjector()
-
-