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) classProcessor for visiting bindings. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final com.google.common.collect.ImmutableSet<Class<?>> protected final ProcessedBindingDataFields 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 booleanisOkayDuplicate(BindingImpl<?> original, BindingImpl<?> binding, InjectorBindingData bindingData) We tolerate duplicate bindings if one exposes the other or if the two bindings are considered duplicates (see.invalid reference
Bindings#areDuplicates(BindingImpl, BindingImpl)protected voidputBinding(BindingImpl<?> binding) private <T> voidvalidateKey(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 (see.invalid 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
-