private static final class DefaultNodeCreator.NodeVisitor extends DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
BindingTargetVisitor that adds nodes to the graph based on the visited Binding.| Modifier | Constructor and Description |
|---|---|
private |
NodeVisitor() |
| Modifier and Type | Method and Description |
|---|---|
private ImplementationNode |
newImplementationNode(Binding<?> binding,
java.util.Collection<java.lang.reflect.Member> members)
Returns a new implementation node for the given binding.
|
private <T extends Binding<?> & HasDependencies> |
newInstanceNode(T binding,
java.lang.Object instance)
Returns a new instance node for the given
Binding. |
private InterfaceNode |
newInterfaceNode(Binding<?> binding)
Returns a new interface node for the given
Binding. |
java.util.Collection<Node> |
visit(ConstructorBinding<?> binding)
Visitor for
ConstructorBindings. |
java.util.Collection<Node> |
visit(InstanceBinding<?> binding)
Visitor for
InstanceBinding. |
java.util.Collection<Node> |
visit(ProviderInstanceBinding<?> binding)
Same as
visit(InstanceBinding), but the binding edge is
BindingEdgeType#PROVIDER. |
java.util.Collection<Node> |
visitOther(Binding<?> binding)
Default visit implementation.
|
private InterfaceNode newInterfaceNode(Binding<?> binding)
Binding.private ImplementationNode newImplementationNode(Binding<?> binding, java.util.Collection<java.lang.reflect.Member> members)
binding - binding for the node to createmembers - members to add to the nodeprivate <T extends Binding<?> & HasDependencies> InstanceNode newInstanceNode(T binding, java.lang.Object instance)
Binding.binding - binding for the node to createinstance - value of the instancepublic java.util.Collection<Node> visit(ConstructorBinding<?> binding)
ConstructorBindings. These are for classes that Guice will instantiate to
satisfy injection requests.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>public java.util.Collection<Node> visit(InstanceBinding<?> binding)
InstanceBinding. We render two nodes in this case: an interface node for
the binding's Key, and then an implementation node for the instance Object
itself.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>public java.util.Collection<Node> visit(ProviderInstanceBinding<?> binding)
visit(InstanceBinding), but the binding edge is
BindingEdgeType#PROVIDER.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>public java.util.Collection<Node> visitOther(Binding<?> binding)
DefaultBindingTargetVisitornull.visitOther in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>