abstract class AbstractBindingProcessor extends AbstractProcessor
Modifier and Type | Class and Description |
---|---|
(package private) class |
AbstractBindingProcessor.Processor<T,V>
Processor for visiting bindings.
|
Modifier and Type | Field and Description |
---|---|
protected ProcessedBindingData |
bindingData |
private static java.util.Set<java.lang.Class<?>> |
FORBIDDEN_TYPES |
errors, injector
Constructor and Description |
---|
AbstractBindingProcessor(Errors errors,
ProcessedBindingData bindingData) |
Modifier and Type | Method and Description |
---|---|
protected <T> UntargettedBindingImpl<T> |
invalidBinding(InjectorImpl injector,
Key<T> key,
java.lang.Object source) |
private boolean |
isOkayDuplicate(BindingImpl<?> original,
BindingImpl<?> binding,
State state)
We tolerate duplicate bindings if one exposes the other or if the two bindings
are considered duplicates (see
Bindings#areDuplicates(BindingImpl, BindingImpl) . |
protected void |
putBinding(BindingImpl<?> binding) |
private <T> void |
validateKey(java.lang.Object source,
Key<T> key) |
process, process, visitOther
private static final java.util.Set<java.lang.Class<?>> FORBIDDEN_TYPES
protected final ProcessedBindingData bindingData
AbstractBindingProcessor(Errors errors, ProcessedBindingData bindingData)
protected <T> UntargettedBindingImpl<T> invalidBinding(InjectorImpl injector, Key<T> key, java.lang.Object source)
protected void putBinding(BindingImpl<?> binding)
private boolean isOkayDuplicate(BindingImpl<?> original, BindingImpl<?> binding, State state)
Bindings#areDuplicates(BindingImpl, BindingImpl)
.original
- the binding in the parent injector (candidate for an exposing binding)binding
- the binding to check (candidate for the exposed binding)private <T> void validateKey(java.lang.Object source, Key<T> key)