Annotation Interface InjectAdapters


@Target(METHOD) @Retention(RUNTIME) @Documented public @interface InjectAdapters
An annotation to mark an IAdaptable implementation class' IAdaptable.setAdapter(TypeToken, Object, String) method as an injection point for adapter injection:
 @InjectAdapters
 public <T> void setAdapter(TypeToken<T> adapterType, T adapter, String role) {
   ...
 }
 
If an IAdaptable thereby marks itself as eligible for adapter injection, all adapter (map bindings) that are bound to a type (by being qualified with a respective AdapterMap annotation), which is either the same or a super-type or super-interface of the IAdaptable will be evaluated, and respective adapters will be injected.

In order to enable adapter injection, AdapterInjectionSupport has to be installed by one of the Modules used by the Injector. InjectAdapters annotations should not be mixed with Inject annotations.