Modifier and Type | Field and 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 and Description |
---|
InheritingState(State parent) |
Modifier and Type | Method and 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 to
key . |
TypeConverterBinding |
getConverter(java.lang.String stringValue,
TypeLiteral<?> type,
Errors errors,
java.lang.Object source)
Returns the matching converter for
type , 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 if
key 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) |
private final State parent
private final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,ScopeBinding> scopes
private final java.util.List<TypeConverterBinding> converters
private final java.util.List<MethodAspect> methodAspects
private final java.util.List<TypeListenerBinding> typeListenerBindings
private final java.util.List<ProvisionListenerBinding> provisionListenerBindings
private final java.util.List<ModuleAnnotatedMethodScannerBinding> scannerBindings
private final WeakKeySet blacklistedKeys
private final java.lang.Object lock
InheritingState(State parent)
public <T> BindingImpl<T> getExplicitBinding(Key<T> key)
State
getExplicitBinding
in interface State
public java.util.Map<Key<?>,Binding<?>> getExplicitBindingsThisLevel()
State
getExplicitBindingsThisLevel
in interface State
public void putBinding(Key<?> key, BindingImpl<?> binding)
putBinding
in interface State
public ScopeBinding getScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
getScopeBinding
in interface State
public void putScopeBinding(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, ScopeBinding scope)
putScopeBinding
in interface State
public java.lang.Iterable<TypeConverterBinding> getConvertersThisLevel()
State
getConvertersThisLevel
in interface State
public void addConverter(TypeConverterBinding typeConverterBinding)
addConverter
in interface State
public TypeConverterBinding getConverter(java.lang.String stringValue, TypeLiteral<?> type, Errors errors, java.lang.Object source)
State
type
, or null if none match.getConverter
in interface State
public void addMethodAspect(MethodAspect methodAspect)
addMethodAspect
in interface State
public com.google.common.collect.ImmutableList<MethodAspect> getMethodAspects()
getMethodAspects
in interface State
public void addTypeListener(TypeListenerBinding listenerBinding)
addTypeListener
in interface State
public java.util.List<TypeListenerBinding> getTypeListenerBindings()
getTypeListenerBindings
in interface State
public void addProvisionListener(ProvisionListenerBinding listenerBinding)
addProvisionListener
in interface State
public java.util.List<ProvisionListenerBinding> getProvisionListenerBindings()
getProvisionListenerBindings
in interface State
public void addScanner(ModuleAnnotatedMethodScannerBinding scanner)
addScanner
in interface State
public java.util.List<ModuleAnnotatedMethodScannerBinding> getScannerBindings()
getScannerBindings
in interface State
public void blacklist(Key<?> key, State state, java.lang.Object source)
State
key
. 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.public boolean isBlacklisted(Key<?> key)
State
key
is forbidden from being bound in this injector. This indicates that
one of this injector's descendent's has bound the key.isBlacklisted
in interface State
public java.util.Set<java.lang.Object> getSourcesForBlacklistedKey(Key<?> key)
State
getSourcesForBlacklistedKey
in interface State
public java.lang.Object lock()
State