Package com.google.inject.internal
Class InheritingState
- java.lang.Object
-
- com.google.inject.internal.InheritingState
-
-
Field Summary
Fields Modifier and Type Field Description private WeakKeySet
blacklistedKeys
private java.util.List<TypeConverterBinding>
converters
private java.util.Map<Key<?>,Binding<?>>
explicitBindings
private java.util.Map<Key<?>,Binding<?>>
explicitBindingsMutable
private java.lang.Object
lock
private java.util.List<MethodAspect>
methodAspects
private State
parent
private java.util.List<ProvisionListenerBinding>
provisionListenerBindings
private java.util.List<ModuleAnnotatedMethodScannerBinding>
scannerBindings
private java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ScopeBinding>
scopes
private java.util.List<TypeListenerBinding>
typeListenerBindings
-
Constructor Summary
Constructors Constructor Description InheritingState(State parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConverter(TypeConverterBinding typeConverterBinding)
void
addMethodAspect(MethodAspect methodAspect)
void
addProvisionListener(ProvisionListenerBinding listenerBinding)
void
addScanner(ModuleAnnotatedMethodScannerBinding scanner)
void
addTypeListener(TypeListenerBinding listenerBinding)
void
blacklist(Key<?> key, State state, java.lang.Object source)
Forbids the corresponding injector from creating a binding tokey
.TypeConverterBinding
getConverter(java.lang.String stringValue, TypeLiteral<?> type, Errors errors, java.lang.Object source)
Returns the matching converter fortype
, or null if none match.java.lang.Iterable<TypeConverterBinding>
getConvertersThisLevel()
Returns all converters at this level only.<T> BindingImpl<T>
getExplicitBinding(Key<T> key)
Gets a binding which was specified explicitly in a module, or null.java.util.Map<Key<?>,Binding<?>>
getExplicitBindingsThisLevel()
Returns the explicit bindings at this level only.com.google.common.collect.ImmutableList<MethodAspect>
getMethodAspects()
java.util.List<ProvisionListenerBinding>
getProvisionListenerBindings()
java.util.List<ModuleAnnotatedMethodScannerBinding>
getScannerBindings()
ScopeBinding
getScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,Scope>
getScopes()
Returns all the scope bindings at this level and parent levels.java.util.Set<java.lang.Object>
getSourcesForBlacklistedKey(Key<?> key)
Returns the source of a blacklisted key.java.util.List<TypeListenerBinding>
getTypeListenerBindings()
boolean
isBlacklisted(Key<?> key)
Returns true ifkey
is forbidden from being bound in this injector.java.lang.Object
lock()
Returns the shared lock for all injector data.State
parent()
void
putBinding(Key<?> key, BindingImpl<?> binding)
void
putScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, ScopeBinding scope)
-
-
-
Field Detail
-
parent
private final State parent
-
scopes
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ScopeBinding> scopes
-
converters
private final java.util.List<TypeConverterBinding> converters
-
methodAspects
private final java.util.List<MethodAspect> methodAspects
-
typeListenerBindings
private final java.util.List<TypeListenerBinding> typeListenerBindings
-
provisionListenerBindings
private final java.util.List<ProvisionListenerBinding> provisionListenerBindings
-
scannerBindings
private final java.util.List<ModuleAnnotatedMethodScannerBinding> scannerBindings
-
blacklistedKeys
private final WeakKeySet blacklistedKeys
-
lock
private final java.lang.Object lock
-
-
Constructor Detail
-
InheritingState
InheritingState(State parent)
-
-
Method Detail
-
getExplicitBinding
public <T> BindingImpl<T> getExplicitBinding(Key<T> key)
Description copied from interface:State
Gets a binding which was specified explicitly in a module, or null.- Specified by:
getExplicitBinding
in interfaceState
-
getExplicitBindingsThisLevel
public java.util.Map<Key<?>,Binding<?>> getExplicitBindingsThisLevel()
Description copied from interface:State
Returns the explicit bindings at this level only.- Specified by:
getExplicitBindingsThisLevel
in interfaceState
-
putBinding
public void putBinding(Key<?> key, BindingImpl<?> binding)
- Specified by:
putBinding
in interfaceState
-
getScopeBinding
public ScopeBinding getScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
- Specified by:
getScopeBinding
in interfaceState
-
putScopeBinding
public void putScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, ScopeBinding scope)
- Specified by:
putScopeBinding
in interfaceState
-
getConvertersThisLevel
public java.lang.Iterable<TypeConverterBinding> getConvertersThisLevel()
Description copied from interface:State
Returns all converters at this level only.- Specified by:
getConvertersThisLevel
in interfaceState
-
addConverter
public void addConverter(TypeConverterBinding typeConverterBinding)
- Specified by:
addConverter
in interfaceState
-
getConverter
public TypeConverterBinding getConverter(java.lang.String stringValue, TypeLiteral<?> type, Errors errors, java.lang.Object source)
Description copied from interface:State
Returns the matching converter fortype
, or null if none match.- Specified by:
getConverter
in interfaceState
-
addMethodAspect
public void addMethodAspect(MethodAspect methodAspect)
- Specified by:
addMethodAspect
in interfaceState
-
getMethodAspects
public com.google.common.collect.ImmutableList<MethodAspect> getMethodAspects()
- Specified by:
getMethodAspects
in interfaceState
-
addTypeListener
public void addTypeListener(TypeListenerBinding listenerBinding)
- Specified by:
addTypeListener
in interfaceState
-
getTypeListenerBindings
public java.util.List<TypeListenerBinding> getTypeListenerBindings()
- Specified by:
getTypeListenerBindings
in interfaceState
-
addProvisionListener
public void addProvisionListener(ProvisionListenerBinding listenerBinding)
- Specified by:
addProvisionListener
in interfaceState
-
getProvisionListenerBindings
public java.util.List<ProvisionListenerBinding> getProvisionListenerBindings()
- Specified by:
getProvisionListenerBindings
in interfaceState
-
addScanner
public void addScanner(ModuleAnnotatedMethodScannerBinding scanner)
- Specified by:
addScanner
in interfaceState
-
getScannerBindings
public java.util.List<ModuleAnnotatedMethodScannerBinding> getScannerBindings()
- Specified by:
getScannerBindings
in interfaceState
-
blacklist
public void blacklist(Key<?> key, State state, java.lang.Object source)
Description copied from interface:State
Forbids the corresponding injector from creating a binding tokey
. Child injectors blacklist their bound keys on their parent injectors to prevent just-in-time bindings on the parent injector that would conflict and pass along their state to control the lifetimes.
-
isBlacklisted
public boolean isBlacklisted(Key<?> key)
Description copied from interface:State
Returns true ifkey
is forbidden from being bound in this injector. This indicates that one of this injector's descendent's has bound the key.- Specified by:
isBlacklisted
in interfaceState
-
getSourcesForBlacklistedKey
public java.util.Set<java.lang.Object> getSourcesForBlacklistedKey(Key<?> key)
Description copied from interface:State
Returns the source of a blacklisted key.- Specified by:
getSourcesForBlacklistedKey
in interfaceState
-
lock
public java.lang.Object lock()
Description copied from interface:State
Returns the shared lock for all injector data. This is a low-granularity, high-contention lock to be used when reading mutable data (ie. just-in-time bindings, and binding blacklists).
-
-