Class AdaptableTypeListener
- java.lang.Object
-
- org.eclipse.gef.common.adapt.inject.AdaptableTypeListener
-
- All Implemented Interfaces:
TypeListener
public class AdaptableTypeListener extends java.lang.Object implements TypeListener
A specificTypeListenerto support adapter injection. It will register anAdapterInjector, which will perform the adapter injection, for eachIAdaptablethat is eligible (seeInjectAdapters.In order to function properly, an
AdaptableTypeListenerhas to be bound in a GuiceModuleas follows:AdaptableTypeListener adaptableTypeListener = new AdaptableTypeListener(); requestInjection(adaptableTypeListener); bindListener(Matchers.any(), adaptableTypeListener);
The call torequestInjection()is important to ensure thatsetInjector(Injector)will get injected. Without it, theAdaptableTypeListenerwill not function properly.Clients should not register an
AdaptableTypeListenerthemselves but rather installAdapterInjectionSupportin one of theModules that are used by theInjector.- See Also:
AdapterInjectionSupport
-
-
Constructor Summary
Constructors Constructor Description AdaptableTypeListener(AdapterInjectionSupport.LoggingMode loggingMode)Constructs a newAdaptableTypeListenerand specifies theAdapterInjectionSupport.LoggingModeto use.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleaneligibleForAdapterInjection(java.lang.reflect.Method method)Checks that the given method complies to the signature ofIAdaptable.setAdapter(TypeToken, Object, String).<I> voidhear(TypeLiteral<I> type, TypeEncounter<I> encounter)voidsetInjector(Injector injector)In order to work, theAdaptableTypeListenerneeds to obtain a reference to anInjector, which is forwarded to theAdapterInjector, which it registers for anyIAdaptableencounters, to obtain theAdapterMapbindings to be injected.
-
-
-
Constructor Detail
-
AdaptableTypeListener
public AdaptableTypeListener(AdapterInjectionSupport.LoggingMode loggingMode)
Constructs a newAdaptableTypeListenerand specifies theAdapterInjectionSupport.LoggingModeto use. If inAdapterInjectionSupport.LoggingMode.DEVELOPMENTmode, binding-related information, warning, and error messages will be printed. If inAdapterInjectionSupport.LoggingMode.PRODUCTIONmode, only error messages will be printed, and information and warning messages will be suppressed.- Parameters:
loggingMode- TheAdapterInjectionSupport.LoggingModeto use.
-
-
Method Detail
-
eligibleForAdapterInjection
protected boolean eligibleForAdapterInjection(java.lang.reflect.Method method)
Checks that the given method complies to the signature ofIAdaptable.setAdapter(TypeToken, Object, String).- Parameters:
method- TheMethodto test.- Returns:
trueif the method has a compatible signature,falseotherwise.
-
hear
public <I> void hear(TypeLiteral<I> type, TypeEncounter<I> encounter)
- Specified by:
hearin interfaceTypeListener
-
setInjector
@Inject public void setInjector(Injector injector)
In order to work, theAdaptableTypeListenerneeds to obtain a reference to anInjector, which is forwarded to theAdapterInjector, which it registers for anyIAdaptableencounters, to obtain theAdapterMapbindings to be injected.- Parameters:
injector- The injector that is forwarded (used to inject) theAdapterInjector.
-
-