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>>
BindingTargetVisitorthat adds nodes to the graph based on the visitedBinding.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateNodeVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private ImplementationNodenewImplementationNode(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 InterfaceNodenewInterfaceNode(Binding<?> binding)Returns a new interface node for the givenBinding.java.util.Collection<Node>visit(ConstructorBinding<?> binding)Visitor forConstructorBindings.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 forConstructorBindings. These are for classes that Guice will instantiate to satisfy injection requests.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>- Overrides:
visitin 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 instanceObjectitself.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>- Overrides:
visitin 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:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
visitOther
public java.util.Collection<Node> visitOther(Binding<?> binding)
Description copied from class:DefaultBindingTargetVisitorDefault visit implementation. Returnsnull.- Overrides:
visitOtherin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Node>>
-
-