Package com.google.inject.grapher
Class DefaultNodeCreator.NodeVisitor
- java.lang.Object
-
- com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
- com.google.inject.grapher.DefaultNodeCreator.NodeVisitor
-
- All Implemented Interfaces:
BindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
- Enclosing class:
- DefaultNodeCreator
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 visitedBinding
.
-
-
Constructor Summary
Constructors Modifier Constructor Description private
NodeVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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>
InstanceNodenewInstanceNode(T binding, java.lang.Object instance)
Returns a new instance node for the givenBinding
.private InterfaceNode
newInterfaceNode(Binding<?> binding)
Returns a new interface node for the givenBinding
.java.util.Collection<Node>
visit(ConstructorBinding<?> binding)
Visitor forConstructorBinding
s.java.util.Collection<Node>
visit(InstanceBinding<?> binding)
Visitor forInstanceBinding
.java.util.Collection<Node>
visit(ProviderInstanceBinding<?> binding)
Same asvisit(InstanceBinding)
, but the binding edge isBindingEdgeType#PROVIDER
.java.util.Collection<Node>
visitOther(Binding<?> binding)
Default visit implementation.
-
-
-
Method Detail
-
newInterfaceNode
private InterfaceNode newInterfaceNode(Binding<?> binding)
Returns a new interface node for the givenBinding
.
-
newImplementationNode
private ImplementationNode newImplementationNode(Binding<?> binding, java.util.Collection<java.lang.reflect.Member> members)
Returns a new implementation node for the given binding.- Parameters:
binding
- binding for the node to createmembers
- members to add to the node- Returns:
- implementation node for the given binding
-
newInstanceNode
private <T extends Binding<?> & HasDependencies> InstanceNode newInstanceNode(T binding, java.lang.Object instance)
Returns a new instance node for the givenBinding
.- Parameters:
binding
- binding for the node to createinstance
- value of the instance- Returns:
- instance node for the given binding
-
visit
public java.util.Collection<Node> visit(ConstructorBinding<?> binding)
Visitor forConstructorBinding
s. These are for classes that Guice will instantiate to satisfy injection requests.- Specified by:
visit
in interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
- Overrides:
visit
in classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
visit
public java.util.Collection<Node> visit(InstanceBinding<?> binding)
Visitor forInstanceBinding
. We render two nodes in this case: an interface node for the binding'sKey
, and then an implementation node for the instanceObject
itself.- Specified by:
visit
in interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
- Overrides:
visit
in classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
visit
public java.util.Collection<Node> visit(ProviderInstanceBinding<?> binding)
Same asvisit(InstanceBinding)
, but the binding edge isBindingEdgeType#PROVIDER
.- Specified by:
visit
in interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
- Overrides:
visit
in classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
visitOther
public java.util.Collection<Node> visitOther(Binding<?> binding)
Description copied from class:DefaultBindingTargetVisitor
Default visit implementation. Returnsnull
.- Overrides:
visitOther
in classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
-