class Indexer extends DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding> implements BindingScopingVisitor<java.lang.Object>
IndexedBinding
that can be used to emulate the binding
deduplication that Guice internally performs.Modifier and Type | Class and Description |
---|---|
(package private) static class |
Indexer.BindingType |
(package private) static class |
Indexer.IndexedBinding |
Modifier and Type | Field and Description |
---|---|
private static java.lang.Object |
EAGER_SINGLETON |
(package private) Injector |
injector |
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
isIndexable(Binding<?> binding) |
private java.lang.Object |
scope(Binding<?> binding) |
Indexer.IndexedBinding |
visit(ConstructorBinding<? extends java.lang.Object> binding)
Visit a constructor binding.
|
Indexer.IndexedBinding |
visit(ConvertedConstantBinding<? extends java.lang.Object> binding)
Visit a binding created from converting a bound instance to a new type.
|
Indexer.IndexedBinding |
visit(ExposedBinding<? extends java.lang.Object> binding)
Visit a binding to a key exposed from an enclosed private environment.
|
Indexer.IndexedBinding |
visit(InstanceBinding<? extends java.lang.Object> binding)
Visit a instance binding.
|
Indexer.IndexedBinding |
visit(LinkedKeyBinding<? extends java.lang.Object> binding)
Visit a linked key binding.
|
Indexer.IndexedBinding |
visit(ProviderBinding<? extends java.lang.Object> binding)
Visit a binding to a
Provider that delegates to the binding for the
provided type. |
Indexer.IndexedBinding |
visit(ProviderInstanceBinding<? extends java.lang.Object> binding)
Visit a provider instance binding.
|
Indexer.IndexedBinding |
visit(ProviderKeyBinding<? extends java.lang.Object> binding)
Visit a provider key binding.
|
Indexer.IndexedBinding |
visit(UntargettedBinding<? extends java.lang.Object> binding)
Visit an untargetted binding.
|
java.lang.Object |
visitEagerSingleton()
Visit an eager singleton or single instance.
|
java.lang.Object |
visitNoScoping()
Visit an unspecified or unscoped strategy.
|
java.lang.Object |
visitScope(Scope scope)
Visit a scope instance.
|
java.lang.Object |
visitScopeAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation)
Visit a scope annotation.
|
visitOther
final Injector injector
private static final java.lang.Object EAGER_SINGLETON
Indexer(Injector injector)
boolean isIndexable(Binding<?> binding)
private java.lang.Object scope(Binding<?> binding)
public Indexer.IndexedBinding visit(ConstructorBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
constructor
. This target is found only on injector bindings.visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(ConvertedConstantBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(ExposedBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(InstanceBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(LinkedKeyBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(ProviderBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
Provider
that delegates to the binding for the
provided type. This target is found only on injector bindings.visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(ProviderInstanceBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
get
method is invoked to resolve
injections. This target is found in both module and injector bindings.visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(ProviderKeyBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
get
method is invoked. This target is found in both module and injector
bindings.visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public Indexer.IndexedBinding visit(UntargettedBinding<? extends java.lang.Object> binding)
BindingTargetVisitor
visit
in interface BindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
visit
in class DefaultBindingTargetVisitor<java.lang.Object,Indexer.IndexedBinding>
public java.lang.Object visitEagerSingleton()
BindingScopingVisitor
visitEagerSingleton
in interface BindingScopingVisitor<java.lang.Object>
public java.lang.Object visitNoScoping()
BindingScopingVisitor
visitNoScoping
in interface BindingScopingVisitor<java.lang.Object>
public java.lang.Object visitScope(Scope scope)
BindingScopingVisitor
visitScope
in interface BindingScopingVisitor<java.lang.Object>
public java.lang.Object visitScopeAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation)
BindingScopingVisitor
Binder.bindScope()
.visitScopeAnnotation
in interface BindingScopingVisitor<java.lang.Object>