So, If I understand what you said, Guice can only provide in the filter those instance created by itself, like through @injected or created through Factories.
El sábado, 23 de abril de 2016, 21:52:59 (UTC+1), scl escribió: > > You canot intercept methods on instances created by a provider. What guice > does is to create a subclass of the thing you want to to intercept. But > when you use a provider to create this object you are calling new yourself > which makes it impossible for guice to sneak in the subclass. > > Therefore interception of methods only works on instances created by guice > (there is no 'new' in your code) > > Am 23. April 2016 19:44:05 MESZ, schrieb Pablo perez <poli...@gmail.com > <javascript:>>: >> >> 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 google-guice+unsubscr...@googlegroups.com. To post to this group, send email to google-guice@googlegroups.com. 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/bc002e1a-ebfd-4fd8-83eb-7bc253f46d01%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.