private static final class DefaultEdgeCreator.EdgeVisitor extends DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>
BindingTargetVisitor that adds edges to the graph based on the visited Binding.| Modifier | Constructor and Description |
|---|---|
private |
EdgeVisitor() |
| Modifier and Type | Method and Description |
|---|---|
private <T extends Binding<?> & HasDependencies> |
newDependencyEdges(NodeId nodeId,
T binding)
Returns a dependency edge for each
Dependency in the binding. |
java.util.Collection<Edge> |
visit(ConstructorBinding<?> binding)
Visitor for
ConstructorBindings. |
java.util.Collection<Edge> |
visit(ConvertedConstantBinding<?> binding)
Visitor for
ConvertedConstantBinding. |
java.util.Collection<Edge> |
visit(InstanceBinding<?> binding)
Visitor for
InstanceBinding. |
java.util.Collection<Edge> |
visit(LinkedKeyBinding<?> binding)
Visitor for
LinkedKeyBinding. |
java.util.Collection<Edge> |
visit(ProviderBinding<?> binding)
Visitor for
ProviderBinding. |
java.util.Collection<Edge> |
visit(ProviderInstanceBinding<?> binding)
Same as
visit(InstanceBinding), but the binding edge is
BindingEdge.Type.PROVIDER. |
java.util.Collection<Edge> |
visit(ProviderKeyBinding<?> binding)
Same as
visit(LinkedKeyBinding), but the binding edge is
BindingEdge.Type.PROVIDER. |
java.util.Collection<Edge> |
visitOther(Binding<?> binding)
Default visit implementation.
|
visit, visitprivate <T extends Binding<?> & HasDependencies> java.util.Collection<Edge> newDependencyEdges(NodeId nodeId, T binding)
Dependency in the binding. These will be from the
given node ID to the Dependency's Key.nodeId - ID of the node that should be the tail of the dependency
edgesbinding - Binding for the dependenciespublic java.util.Collection<Edge> 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<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(ConvertedConstantBinding<?> binding)
ConvertedConstantBinding. The Binding's Key will be of an
annotated primitive type, and the value of ConvertedConstantBinding.getSourceKey()
will be of a String with the same annotation.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(InstanceBinding<?> binding)
InstanceBinding. We then render any dependency edgess that the instance
may have, which come either from InjectionPoints (method and field) on the instance,
or on Dependencys the instance declares through the HasDependencies
interface.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(LinkedKeyBinding<?> binding)
LinkedKeyBinding. This is the standard Binding you get from
binding an interface class to an implementation class. We draw a BindingEdge from
the interface node to the node of the implementing class.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(ProviderBinding<?> binding)
ProviderBinding. These Bindings arise from an
InjectionPoint for the Provider interface.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(ProviderInstanceBinding<?> binding)
visit(InstanceBinding), but the binding edge is
BindingEdge.Type.PROVIDER.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visit(ProviderKeyBinding<?> binding)
visit(LinkedKeyBinding), but the binding edge is
BindingEdge.Type.PROVIDER.visit in interface BindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>visit in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>public java.util.Collection<Edge> visitOther(Binding<?> binding)
DefaultBindingTargetVisitornull.visitOther in class DefaultBindingTargetVisitor<java.lang.Object,java.util.Collection<Edge>>