com.google.inject.spi
Class ProviderLookup<T>

java.lang.Object
  extended by com.google.inject.spi.ProviderLookup<T>
All Implemented Interfaces:
Element

public final class ProviderLookup<T>
extends Object
implements Element

A lookup of the provider for a type. Lookups are created explicitly in a module using getProvider() statements:

     Provider<PaymentService> paymentServiceProvider
         = getProvider(PaymentService.class);

Since:
2.0

Method Summary
<T> T
acceptVisitor(ElementVisitor<T> visitor)
          Accepts an element visitor.
 Provider<T> getDelegate()
          Returns the delegate provider, or null if it has not yet been initialized.
 Key<T> getKey()
           
 Object getSource()
          Returns an arbitrary object containing information about the "place" where this element was configured.
 void initDelegate(Provider<T> delegate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSource

public Object getSource()
Description copied from interface: Element
Returns an arbitrary object containing information about the "place" where this element was configured. Used by Guice in the production of descriptive error messages.

Tools might specially handle types they know about; StackTraceElement is a good example. Tools should simply call toString() on the source object if the type is unfamiliar.

Specified by:
getSource in interface Element

getKey

public Key<T> getKey()

acceptVisitor

public <T> T acceptVisitor(ElementVisitor<T> visitor)
Description copied from interface: Element
Accepts an element visitor. Invokes the visitor method specific to this element's type.

Specified by:
acceptVisitor in interface Element
Parameters:
visitor - to call back on

initDelegate

public void initDelegate(Provider<T> delegate)

getDelegate

public Provider<T> getDelegate()
Returns the delegate provider, or null if it has not yet been initialized. The delegate will be initialized when this element is processed, or otherwise used to create an injector.



Copyright 2008 Google Inc. All Rights Reserved.