public class GuiceModuleUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
logger |
| Constructor and Description |
|---|
GuiceModuleUtils(com.google.inject.Module... modules) |
GuiceModuleUtils(com.google.inject.Module module) |
GuiceModuleUtils(Set<com.google.inject.Module> modules) |
| Modifier and Type | Method and Description |
|---|---|
static SpincastGuiceModuleBase |
createInterceptorModule(Class<?> toIntercept,
Class<?> implementationClass,
boolean ignoreMethodsAnnotatedWithInject)
Creates a module that is going to intercept the calls to all methods defined in
an object implementing
toIntercept and will call those of
implementationClass instead, if available. |
protected static String |
createMethodeSignatureKey(Method method) |
<T> Class<? extends T> |
getBindingTarget(Class<T> specificClass)
Returns the target of the binding with the specified class/interface.
|
<T> Class<? extends T> |
getBindingTarget(com.google.inject.Key<T> specificKey)
Returns the target of the binding with the specified key.
|
protected <T> Set<Class<? extends T>> |
getBoundClasses(Class<? extends T> parentType,
com.google.inject.Key<?> specificKey) |
<T> Set<Class<? extends T>> |
getBoundClassesExtending(Class<? extends T> parentType)
Returns the bound classes that extend or implement the specified
parentType. |
protected List<com.google.inject.spi.Element> |
getElements() |
protected com.google.inject.Module |
getModule() |
boolean |
isKeyBound(Class<?> clazz)
Checks if a class is bound in the Module
|
boolean |
isKeyBound(com.google.inject.Key<?> keyToCheck)
Checks if a key is bound in the Module
|
static com.google.inject.Module |
removeBindings(com.google.inject.Module module,
Set<com.google.inject.Key<?>> keysToRemove)
Remove bindings from a Module.
|
public GuiceModuleUtils(com.google.inject.Module module)
public GuiceModuleUtils(Set<com.google.inject.Module> modules)
public GuiceModuleUtils(com.google.inject.Module... modules)
protected com.google.inject.Module getModule()
protected List<com.google.inject.spi.Element> getElements()
public boolean isKeyBound(Class<?> clazz)
public boolean isKeyBound(com.google.inject.Key<?> keyToCheck)
public <T> Class<? extends T> getBindingTarget(com.google.inject.Key<T> specificKey)
Provider is used!null if not found.public <T> Class<? extends T> getBindingTarget(Class<T> specificClass)
Provider is used!null if not found.public <T> Set<Class<? extends T>> getBoundClassesExtending(Class<? extends T> parentType)
parentType.
IMPORTANT : This doesn't mean that the parentType
is actually used as a key in a binding, but that there is a binding for an
class that extends/implements parentType.
This won't work if a Provider is used!
protected <T> Set<Class<? extends T>> getBoundClasses(Class<? extends T> parentType, com.google.inject.Key<?> specificKey)
public static SpincastGuiceModuleBase createInterceptorModule(Class<?> toIntercept, Class<?> implementationClass, boolean ignoreMethodsAnnotatedWithInject)
toIntercept and will call those of
implementationClass instead, if available.
This allows you, for example, to use a specific implementation for a
toIntercept binding, even if an existing binding is done for a
class extending toIntercept. This existing binding will still
continue to use its original implementation for the methods that are not
defined on toIntercept but will use the implementation speficied
here for those that are.
You can annotate a method with DontIntercept to prevent
it to be intercepted.
Note that the implementationClass binding must have been done in other
module.
ignoreMethodsAnnotatedWithInject - if true, methods from the intercepted
class annotated with Inject or with Inject will be ignored
(they won't be intercepted).public static com.google.inject.Module removeBindings(com.google.inject.Module module,
Set<com.google.inject.Key<?>> keysToRemove)
Copyright © 2019. All rights reserved.