Package com.google.inject.internal
Class InheritingState
- java.lang.Object
-
- com.google.inject.internal.InheritingState
-
-
Field Summary
Fields Modifier and Type Field Description private WeakKeySetblacklistedKeysprivate java.util.List<TypeConverterBinding>convertersprivate java.util.Map<Key<?>,Binding<?>>explicitBindingsprivate java.util.Map<Key<?>,Binding<?>>explicitBindingsMutableprivate java.lang.Objectlockprivate java.util.List<MethodAspect>methodAspectsprivate Stateparentprivate java.util.List<ProvisionListenerBinding>provisionListenerBindingsprivate java.util.List<ModuleAnnotatedMethodScannerBinding>scannerBindingsprivate java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ScopeBinding>scopesprivate 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 voidaddConverter(TypeConverterBinding typeConverterBinding)voidaddMethodAspect(MethodAspect methodAspect)voidaddProvisionListener(ProvisionListenerBinding listenerBinding)voidaddScanner(ModuleAnnotatedMethodScannerBinding scanner)voidaddTypeListener(TypeListenerBinding listenerBinding)voidblacklist(Key<?> key, State state, java.lang.Object source)Forbids the corresponding injector from creating a binding tokey.TypeConverterBindinggetConverter(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()ScopeBindinggetScopeBinding(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()booleanisBlacklisted(Key<?> key)Returns true ifkeyis forbidden from being bound in this injector.java.lang.Objectlock()Returns the shared lock for all injector data.Stateparent()voidputBinding(Key<?> key, BindingImpl<?> binding)voidputScopeBinding(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:StateGets a binding which was specified explicitly in a module, or null.- Specified by:
getExplicitBindingin interfaceState
-
getExplicitBindingsThisLevel
public java.util.Map<Key<?>,Binding<?>> getExplicitBindingsThisLevel()
Description copied from interface:StateReturns the explicit bindings at this level only.- Specified by:
getExplicitBindingsThisLevelin interfaceState
-
putBinding
public void putBinding(Key<?> key, BindingImpl<?> binding)
- Specified by:
putBindingin interfaceState
-
getScopeBinding
public ScopeBinding getScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
- Specified by:
getScopeBindingin interfaceState
-
putScopeBinding
public void putScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, ScopeBinding scope)- Specified by:
putScopeBindingin interfaceState
-
getConvertersThisLevel
public java.lang.Iterable<TypeConverterBinding> getConvertersThisLevel()
Description copied from interface:StateReturns all converters at this level only.- Specified by:
getConvertersThisLevelin interfaceState
-
addConverter
public void addConverter(TypeConverterBinding typeConverterBinding)
- Specified by:
addConverterin interfaceState
-
getConverter
public TypeConverterBinding getConverter(java.lang.String stringValue, TypeLiteral<?> type, Errors errors, java.lang.Object source)
Description copied from interface:StateReturns the matching converter fortype, or null if none match.- Specified by:
getConverterin interfaceState
-
addMethodAspect
public void addMethodAspect(MethodAspect methodAspect)
- Specified by:
addMethodAspectin interfaceState
-
getMethodAspects
public com.google.common.collect.ImmutableList<MethodAspect> getMethodAspects()
- Specified by:
getMethodAspectsin interfaceState
-
addTypeListener
public void addTypeListener(TypeListenerBinding listenerBinding)
- Specified by:
addTypeListenerin interfaceState
-
getTypeListenerBindings
public java.util.List<TypeListenerBinding> getTypeListenerBindings()
- Specified by:
getTypeListenerBindingsin interfaceState
-
addProvisionListener
public void addProvisionListener(ProvisionListenerBinding listenerBinding)
- Specified by:
addProvisionListenerin interfaceState
-
getProvisionListenerBindings
public java.util.List<ProvisionListenerBinding> getProvisionListenerBindings()
- Specified by:
getProvisionListenerBindingsin interfaceState
-
addScanner
public void addScanner(ModuleAnnotatedMethodScannerBinding scanner)
- Specified by:
addScannerin interfaceState
-
getScannerBindings
public java.util.List<ModuleAnnotatedMethodScannerBinding> getScannerBindings()
- Specified by:
getScannerBindingsin interfaceState
-
blacklist
public void blacklist(Key<?> key, State state, java.lang.Object source)
Description copied from interface:StateForbids 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:StateReturns true ifkeyis forbidden from being bound in this injector. This indicates that one of this injector's descendent's has bound the key.- Specified by:
isBlacklistedin interfaceState
-
getSourcesForBlacklistedKey
public java.util.Set<java.lang.Object> getSourcesForBlacklistedKey(Key<?> key)
Description copied from interface:StateReturns the source of a blacklisted key.- Specified by:
getSourcesForBlacklistedKeyin interfaceState
-
lock
public java.lang.Object lock()
Description copied from interface:StateReturns 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).
-
-