Package com.google.inject.spi
Class ModuleSource
java.lang.Object
com.google.inject.spi.ModuleSource
Associated to a
module, provides the module class name, the parent module source, and the call stack that ends just before the module configure(Binder) method invocation.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final StringThe class name of module that thisModuleSourceassociated to.private final ModuleSourceThe parentmodule source.private final BindingSourceRestriction.PermitMapPermit map created by the binder that installed this module. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateModuleSource(ModuleSource parent, Class<?> moduleClass, BindingSourceRestriction.PermitMap permitMap) Creates a newModuleSourceObject.(package private)ModuleSource(Class<?> moduleClass, BindingSourceRestriction.PermitMap permitMap) Creates a newModuleSourcewith a null parent. -
Method Summary
Modifier and TypeMethodDescription(package private) ModuleSourcecreateChild(Class<?> moduleClass) Creates and returns a childModuleSourcecorresponding to themodule.(package private) StringReturns the corresponding module class name.Returns the class names of modules in this module source.(package private) ModuleSourceReturns the parent modulesource.(package private) BindingSourceRestriction.PermitMapReturns the permit map created by the binder that installed this module.(package private) intsize()Returns the size ofModuleSourceschain (all parents) that ends at this object.
-
Field Details
-
moduleClassName
The class name of module that thisModuleSourceassociated to. -
parent
The parentmodule source. -
permitMap
Permit map created by the binder that installed this module.The permit map is a binder-scoped object, but it's saved here because these maps have to outlive the binders that created them in order to be used at injector creation, and there isn't a 'BinderSource' object.
-
-
Constructor Details
-
ModuleSource
ModuleSource(Class<?> moduleClass, BindingSourceRestriction.PermitMap permitMap) Creates a newModuleSourcewith a null parent.- Parameters:
moduleClass- the corresponding module
-
ModuleSource
private ModuleSource(@Nullable ModuleSource parent, Class<?> moduleClass, BindingSourceRestriction.PermitMap permitMap) Creates a newModuleSourceObject.- Parameters:
parent- the parent modulesourcemoduleClass- the corresponding modulepartialCallStack- the chunk of call stack that starts from the parent moduleconfigure(Binder)call and ends just before the moduleconfigure(Binder)method invocation
-
-
Method Details
-
getModuleClassName
String getModuleClassName()Returns the corresponding module class name.- See Also:
-
createChild
Creates and returns a childModuleSourcecorresponding to themodule.- Parameters:
moduleClass- the corresponding module
-
getParent
ModuleSource getParent()Returns the parent modulesource. -
getModuleClassNames
Returns the class names of modules in this module source. The first element (index 0) is filled by this objectgetModuleClassName(). The second element is filled by the parent'sgetModuleClassName()and so on. -
size
int size()Returns the size ofModuleSourceschain (all parents) that ends at this object. -
getPermitMap
BindingSourceRestriction.PermitMap getPermitMap()Returns the permit map created by the binder that installed this module.
-