Class AdaptableTypeListener
java.lang.Object
org.eclipse.gef.common.adapt.inject.AdaptableTypeListener
- All Implemented Interfaces:
TypeListener
A specific
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 Module
s
that are used by the Injector
.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionAdaptableTypeListener
(AdapterInjectionSupport.LoggingMode loggingMode) Constructs a newAdaptableTypeListener
and specifies theAdapterInjectionSupport.LoggingMode
to use. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
eligibleForAdapterInjection
(Method method) Checks that the given method complies to the signature ofIAdaptable.setAdapter(TypeToken, Object, String)
.<I> void
hear
(TypeLiteral<I> type, TypeEncounter<I> encounter) void
setInjector
(Injector injector) In order to work, theAdaptableTypeListener
needs to obtain a reference to anInjector
, which is forwarded to theAdapterInjector
, which it registers for anyIAdaptable
encounters, to obtain theAdapterMap
bindings to be injected.
-
Constructor Details
-
AdaptableTypeListener
Constructs a newAdaptableTypeListener
and specifies theAdapterInjectionSupport.LoggingMode
to use. If inAdapterInjectionSupport.LoggingMode.DEVELOPMENT
mode, binding-related information, warning, and error messages will be printed. If inAdapterInjectionSupport.LoggingMode.PRODUCTION
mode, only error messages will be printed, and information and warning messages will be suppressed.- Parameters:
loggingMode
- TheAdapterInjectionSupport.LoggingMode
to use.
-
-
Method Details
-
eligibleForAdapterInjection
Checks that the given method complies to the signature ofIAdaptable.setAdapter(TypeToken, Object, String)
.- Parameters:
method
- TheMethod
to test.- Returns:
true
if the method has a compatible signature,false
otherwise.
-
hear
- Specified by:
hear
in interfaceTypeListener
-
setInjector
In order to work, theAdaptableTypeListener
needs to obtain a reference to anInjector
, which is forwarded to theAdapterInjector
, which it registers for anyIAdaptable
encounters, to obtain theAdapterMap
bindings to be injected.- Parameters:
injector
- The injector that is forwarded (used to inject) theAdapterInjector
.
-