org.elasticsearch.common.inject.spi
Class InjectionRequest<T>

java.lang.Object
  extended by org.elasticsearch.common.inject.spi.InjectionRequest<T>
All Implemented Interfaces:
Element

public final class InjectionRequest<T>
extends Object
implements Element

A request to inject the instance fields and methods of an instance. Requests are created explicitly in a module using requestInjection() statements:

     requestInjection(serviceInstance);

Since:
2.0
Author:
mikeward@google.com (Mike Ward)

Constructor Summary
InjectionRequest(Object source, TypeLiteral<T> type, T instance)
           
 
Method Summary
<R> R
acceptVisitor(ElementVisitor<R> visitor)
          Accepts an element visitor.
 void applyTo(Binder binder)
          Writes this module element to the given binder (optional operation).
 Set<InjectionPoint> getInjectionPoints()
          Returns the instance methods and fields of instance that will be injected to fulfill this request.
 T getInstance()
           
 Object getSource()
          Returns an arbitrary object containing information about the "place" where this element was configured.
 TypeLiteral<T> getType()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InjectionRequest

public InjectionRequest(Object source,
                        TypeLiteral<T> type,
                        T instance)
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

getInstance

public T getInstance()

getType

public TypeLiteral<T> getType()

getInjectionPoints

public Set<InjectionPoint> getInjectionPoints()
                                       throws ConfigurationException
Returns the instance methods and fields of instance that will be injected to fulfill this request.

Returns:
a possibly empty set of injection points. The set has a specified iteration order. All fields are returned and then all methods. Within the fields, supertype fields are returned before subtype fields. Similarly, supertype methods are returned before subtype methods.
Throws:
ConfigurationException - if there is a malformed injection point on the class of instance, such as a field with multiple binding annotations. The exception's partial value is a Set<InjectionPoint> of the valid injection points.

acceptVisitor

public <R> R acceptVisitor(ElementVisitor<R> 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

applyTo

public void applyTo(Binder binder)
Description copied from interface: Element
Writes this module element to the given binder (optional operation).

Specified by:
applyTo in interface Element
Parameters:
binder - to apply configuration element to


Copyright © 2009-2012. All Rights Reserved.