public interface TypeListenerListens for Guice to encounter injectable types. If a given type has its constructor injected in one situation but only its methods and fields injected in another, Guice will notify this listener once.
Useful for extra type checking, registering injection listeners, and
TypeEncounter#bindInterceptor( org.elasticsearch.common.inject.matcher.Matcher, org.aopalliance.intercept.MethodInterceptor) binding method interceptors.
<I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter)Invoked when Guice encounters a new type eligible for constructor or members injection. Called during injector creation (or afterwords if Guice encounters a type at run time and creates a JIT binding).
- Type Parameters:
I- the injectable type
type- encountered by Guice
encounter- context of this encounter, enables reporting errors, registering injection listeners and binding method interceptors for