public class AdaptableTypeListener
extends java.lang.Object
implements com.google.inject.spi.TypeListener
TypeListener to support adapter injection. It will
register an AdapterInjector, which will perform the adapter
injection, for each IAdaptable that is eligible (see
InjectAdapters.
In order to function properly, an AdaptableTypeListener has to be
bound in a Guice Module as follows:
AdaptableTypeListener adaptableTypeListener = new AdaptableTypeListener(); requestInjection(adaptableTypeListener); bindListener(Matchers.any(), adaptableTypeListener);The call to
requestInjection() is important to ensure that
setInjector(Injector) will get injected.
Without it, the AdaptableTypeListener will not function properly.
Clients should not register an AdaptableTypeListener themselves but
rather install AdapterInjectionSupport in one of the Modules
that are used by the Injector.
AdapterInjectionSupport| Constructor and Description |
|---|
AdaptableTypeListener() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
eligibleForAdapterInjection(java.lang.reflect.Method method)
Checks that the given method complies to the signature of
IAdaptable.setAdapter(TypeToken, Object, String). |
<I> void |
hear(com.google.inject.TypeLiteral<I> type,
com.google.inject.spi.TypeEncounter<I> encounter) |
void |
setInjector(com.google.inject.Injector injector)
In order to work, the
AdaptableTypeListener needs to obtain a
reference to an Injector, which is forwarded to the
AdapterInjector, which it registers for any IAdaptable
encounters, to obtain the AdapterMap bindings to be injected. |
@Inject public void setInjector(com.google.inject.Injector injector)
AdaptableTypeListener needs to obtain a
reference to an Injector, which is forwarded to the
AdapterInjector, which it registers for any IAdaptable
encounters, to obtain the AdapterMap bindings to be injected.injector - The injector that is forwarded (used to inject) the
AdapterInjector.public <I> void hear(com.google.inject.TypeLiteral<I> type,
com.google.inject.spi.TypeEncounter<I> encounter)
hear in interface com.google.inject.spi.TypeListenerprotected boolean eligibleForAdapterInjection(java.lang.reflect.Method method)
IAdaptable.setAdapter(TypeToken, Object, String).method - The Method to test.true if the method has a compatible signature,
false otherwise.Copyright (c) 2014 itemis AG and others. All rights reserved.