com.google.inject.grapher
Class TransitiveDependencyVisitor

java.lang.Object
  extended by com.google.inject.grapher.TransitiveDependencyVisitor
All Implemented Interfaces:
BindingTargetVisitor<Object,Collection<Key<?>>>

public class TransitiveDependencyVisitor
extends Object
implements BindingTargetVisitor<Object,Collection<Key<?>>>

BindingTargetVisitor that returns a Collection of the Keys of each Binding's dependencies. Used by InjectorGropher to walk the dependency graph from a starting set of Bindings.

Author:
phopkins@gmail.com (Pete Hopkins)

Constructor Summary
TransitiveDependencyVisitor()
           
 
Method Summary
 Collection<Key<?>> visit(ConstructorBinding<?> binding)
          Visit a constructor binding.
 Collection<Key<?>> visit(ConvertedConstantBinding<?> binding)
          Visit a binding created from converting a bound instance to a new type.
 Collection<Key<?>> visit(ExposedBinding<?> binding)
          Visit a binding to a key exposed from an enclosed private environment.
 Collection<Key<?>> visit(InstanceBinding<?> binding)
          Visit a instance binding.
 Collection<Key<?>> visit(LinkedKeyBinding<?> binding)
          Visit a linked key binding.
 Collection<Key<?>> visit(ProviderBinding<?> binding)
          Visit a binding to a Provider that delegates to the binding for the provided type.
 Collection<Key<?>> visit(ProviderInstanceBinding<?> binding)
          Visit a provider instance binding.
 Collection<Key<?>> visit(ProviderKeyBinding<?> binding)
          Visit a provider key binding.
 Collection<Key<?>> visit(UntargettedBinding<?> binding)
          Visit an untargetted binding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransitiveDependencyVisitor

public TransitiveDependencyVisitor()
Method Detail

visit

public Collection<Key<?>> visit(ConstructorBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a constructor binding. To resolve injections, an instance is instantiated by invoking constructor. This target is found only on injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(ConvertedConstantBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a binding created from converting a bound instance to a new type. The source binding has the same binding annotation but a different type. This target is found only on injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(ExposedBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a binding to a key exposed from an enclosed private environment. This target is only found in injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(InstanceBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a instance binding. The same instance is returned for every injection. This target is found in both module and injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(LinkedKeyBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a linked key binding. The other key's binding is used to resolve injections. This target is found in both module and injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(ProviderBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a binding to a Provider that delegates to the binding for the provided type. This target is found only on injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(ProviderInstanceBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a provider instance binding. The provider's get method is invoked to resolve injections. This target is found in both module and injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(ProviderKeyBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit a provider key binding. To resolve injections, the provider key is first resolved, then that provider's get method is invoked. This target is found in both module and injector bindings.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>

visit

public Collection<Key<?>> visit(UntargettedBinding<?> binding)
Description copied from interface: BindingTargetVisitor
Visit an untargetted binding. This target is found only on module bindings. It indicates that the injector should use its implicit binding strategies to resolve injections.

Specified by:
visit in interface BindingTargetVisitor<Object,Collection<Key<?>>>


Copyright © 2006-2011 Google, Inc.. All Rights Reserved.