I´m using Guice TypeListener to intercept a map instance generated by a 
provider.

Here the config method where I bind my listener

@Overridepublic void addConfig() {
    MapListener mapListener = new MapListener();
    requestInjection(mapListener);
    bindListener(Matchers.any(), mapListener);}

This is the map instance created by this provider

  @Provides
  Map<String, String> mapTest(){
    return new HashMap<>();
  }

This is the listener class to detect the map instance

public class MapListener implements TypeListener {

    @Override
    public <I> void hear(final TypeLiteral<I> typeLiteral, TypeEncounter<I> 
typeEncounter) {
        typeEncounter.register((InjectionListener<I>) i -> {
        if(i.getClass().isAssignableFrom(Map.class)){
              System.out.println("DI:"+ i.getClass()
                                .getName());
             //TODO:Logic to modify map
        }
        });
    }}

The problem is the Map is never passed to the hear method. Am I doing 
something wrong?

Regards.

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-guice/dd19c60f-b7a0-4e25-8fb0-eac9d9fcbc80%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to