org.elasticsearch.common.inject.spi
Interface Element

All Known Subinterfaces:
Binding<T>, ConstructorBinding<T>, ConvertedConstantBinding<T>, ExposedBinding<T>, InstanceBinding<T>, LinkedKeyBinding<T>, PrivateElements, ProviderBinding<T>, ProviderInstanceBinding<T>, ProviderKeyBinding<T>, UntargettedBinding<T>
All Known Implementing Classes:
BindingImpl, ExposedBindingImpl, InjectionRequest, InstanceBindingImpl, LinkedBindingImpl, LinkedProviderBindingImpl, MembersInjectorLookup, Message, PrivateElementsImpl, ProviderInstanceBindingImpl, ProviderLookup, ScopeBinding, StaticInjectionRequest, TypeConverterBinding, TypeListenerBinding, UntargettedBindingImpl

public interface Element

A core component of a module or injector.

The elements of a module can be inspected, validated and rewritten. Use Elements.getElements() to read the elements from a module, and Elements.getModule() to rewrite them. This can be used for static analysis and generation of Guice modules.

The elements of an injector can be inspected and exercised. Use Injector.getBindings() to reflect on Guice injectors.

Since:
2.0
Author:
jessewilson@google.com (Jesse Wilson), crazybob@google.com (Bob Lee)

Method Summary
<T> T
acceptVisitor(ElementVisitor<T> visitor)
          Accepts an element visitor.
 void applyTo(Binder binder)
          Writes this module element to the given binder (optional operation).
 Object getSource()
          Returns an arbitrary object containing information about the "place" where this element was configured.
 

Method Detail

getSource

Object getSource()
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.


acceptVisitor

<T> T acceptVisitor(ElementVisitor<T> visitor)
Accepts an element visitor. Invokes the visitor method specific to this element's type.

Parameters:
visitor - to call back on

applyTo

void applyTo(Binder binder)
Writes this module element to the given binder (optional operation).

Parameters:
binder - to apply configuration element to
Throws:
UnsupportedOperationException - if the applyTo method is not supported by this element.


Copyright © 2009-2012. All Rights Reserved.