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
ConstructorBinding s. |
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)
ConstructorBinding
s. 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)
DefaultBindingTargetVisitor
null
.visitOther
in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>