Package com.google.inject.internal
Class AbstractBindingProcessor
java.lang.Object
com.google.inject.spi.DefaultElementVisitor<Boolean>
com.google.inject.internal.AbstractProcessor
com.google.inject.internal.AbstractBindingProcessor
- All Implemented Interfaces:
ElementVisitor<Boolean>
- Direct Known Subclasses:
BindingProcessor
,UntargettedBindingProcessor
Guarantees that processing of Binding elements happens in a sane way.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class
Processor for visiting bindings. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final com.google.common.collect.ImmutableSet
<Class<?>> protected final ProcessedBindingData
Fields inherited from class com.google.inject.internal.AbstractProcessor
errors, injector
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractBindingProcessor
(Errors errors, ProcessedBindingData processedBindingData) -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> UntargettedBindingImpl
<T> invalidBinding
(InjectorImpl injector, Key<T> key, Object source) private static boolean
isOkayDuplicate
(BindingImpl<?> original, BindingImpl<?> binding, InjectorBindingData bindingData) We tolerate duplicate bindings if one exposes the other or if the two bindings are considered duplicates (seeinvalid reference
Bindings#areDuplicates(BindingImpl, BindingImpl)
protected void
putBinding
(BindingImpl<?> binding) private <T> void
validateKey
(Object source, Key<T> key) Methods inherited from class com.google.inject.internal.AbstractProcessor
process, process, visitOther
-
Field Details
-
FORBIDDEN_TYPES
-
processedBindingData
-
-
Constructor Details
-
AbstractBindingProcessor
AbstractBindingProcessor(Errors errors, ProcessedBindingData processedBindingData)
-
-
Method Details
-
invalidBinding
protected <T> UntargettedBindingImpl<T> invalidBinding(InjectorImpl injector, Key<T> key, Object source) -
putBinding
-
isOkayDuplicate
private static boolean isOkayDuplicate(BindingImpl<?> original, BindingImpl<?> binding, InjectorBindingData bindingData) We tolerate duplicate bindings if one exposes the other or if the two bindings are considered duplicates (seeinvalid reference
Bindings#areDuplicates(BindingImpl, BindingImpl)
- Parameters:
original
- the binding in the parent injector (candidate for an exposing binding)binding
- the binding to check (candidate for the exposed binding)
-
validateKey
-