Package com.google.inject.grapher
Class DefaultEdgeCreator.EdgeVisitor
- java.lang.Object
-
- com.google.inject.spi.DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
- com.google.inject.grapher.DefaultEdgeCreator.EdgeVisitor
-
- All Implemented Interfaces:
BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
- Enclosing class:
- DefaultEdgeCreator
private static final class DefaultEdgeCreator.EdgeVisitor extends DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
BindingTargetVisitorthat adds edges to the graph based on the visitedBinding.
-
-
Constructor Summary
Constructors Modifier Constructor Description privateEdgeVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private <T extends Binding<?> & HasDependencies>
java.util.Collection<Edge>newDependencyEdges(NodeId nodeId, T binding)Returns a dependency edge for eachDependencyin the binding.java.util.Collection<Edge>visit(ConstructorBinding<?> binding)Visitor forConstructorBindings.java.util.Collection<Edge>visit(ConvertedConstantBinding<?> binding)Visitor forConvertedConstantBinding.java.util.Collection<Edge>visit(InstanceBinding<?> binding)Visitor forInstanceBinding.java.util.Collection<Edge>visit(LinkedKeyBinding<?> binding)Visitor forLinkedKeyBinding.java.util.Collection<Edge>visit(ProviderBinding<?> binding)Visitor forProviderBinding.java.util.Collection<Edge>visit(ProviderInstanceBinding<?> binding)Same asvisit(InstanceBinding), but the binding edge isBindingEdge.Type.PROVIDER.java.util.Collection<Edge>visit(ProviderKeyBinding<?> binding)Same asvisit(LinkedKeyBinding), but the binding edge isBindingEdge.Type.PROVIDER.java.util.Collection<Edge>visitOther(Binding<?> binding)Default visit implementation.-
Methods inherited from class com.google.inject.spi.DefaultBindingTargetVisitor
visit, visit
-
-
-
-
Method Detail
-
newDependencyEdges
private <T extends Binding<?> & HasDependencies> java.util.Collection<Edge> newDependencyEdges(NodeId nodeId, T binding)
Returns a dependency edge for eachDependencyin the binding. These will be from the given node ID to theDependency'sKey.- Parameters:
nodeId- ID of the node that should be the tail of the dependency edgesbinding-Bindingfor the dependencies
-
visit
public java.util.Collection<Edge> 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<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(ConvertedConstantBinding<?> binding)
Visitor forConvertedConstantBinding. TheBinding'sKeywill be of an annotated primitive type, and the value ofConvertedConstantBinding.getSourceKey()will be of aStringwith the same annotation.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(InstanceBinding<?> binding)
Visitor forInstanceBinding. We then render any dependency edgess that the instance may have, which come either fromInjectionPoints (method and field) on the instance, or onDependencys the instance declares through theHasDependenciesinterface.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(LinkedKeyBinding<?> binding)
Visitor forLinkedKeyBinding. This is the standardBindingyou get from binding an interface class to an implementation class. We draw aBindingEdgefrom the interface node to the node of the implementing class.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(ProviderBinding<?> binding)
Visitor forProviderBinding. TheseBindings arise from anInjectionPointfor theProviderinterface.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(ProviderInstanceBinding<?> binding)
Same asvisit(InstanceBinding), but the binding edge isBindingEdge.Type.PROVIDER.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visit
public java.util.Collection<Edge> visit(ProviderKeyBinding<?> binding)
Same asvisit(LinkedKeyBinding), but the binding edge isBindingEdge.Type.PROVIDER.- Specified by:
visitin interfaceBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>- Overrides:
visitin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
visitOther
public java.util.Collection<Edge> visitOther(Binding<?> binding)
Description copied from class:DefaultBindingTargetVisitorDefault visit implementation. Returnsnull.- Overrides:
visitOtherin classDefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
-
-