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.

Since:
2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    <T> T
    Accepts an element visitor.
    void
    applyTo(Binder binder)
    Writes this module element to the given binder (optional operation).
    Returns an arbitrary object containing information about the "place" where this element was configured.
  • Method Details

    • 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.