public interface

Element

com.google.inject.spi.Element
Known Indirect Subclasses

Class Overview

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.

Summary

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

Public Methods

public abstract 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

public abstract 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.

public abstract 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.