FYI, I am ashamed to admit but as a terrible workaround I simply use 
reflection to get at the TypeListenerBindings. It would be nice though if 
these were included from the call to getAllBindings.

Injector injector = Guice.createInjector(...);

Class injectorImplClass = 
Class.forName("com.google.inject.internal.InjectorImpl");
Field field = injectorImplClass.getDeclaredField("state");
field.setAccessible(true);

Object state = field.get(injector);

Class stateClass = Class.forName("com.google.inject.internal.State");
Method method = stateClass.getDeclaredMethod("getTypeListenerBindings");
method.setAccessible(true);

for (final TypeListenerBinding typeListenerBinding : 
(List<TypeListenerBinding>) method.invoke(state)) {
    // Do something with the TypeListenerBinding
}

On Monday, March 26, 2012 9:41:25 PM UTC-5, Alex wrote:
>
> I hope I haven't missed anything obvious but is there a way to get the 
> bound TypeListeners for an Injector?  I have poked around with 
> Injector.getAllBindings() which in turn provides access to the 
> Providers but I don't ever see my bound listeners.  The only reason I 
> want to access this information is to be able to easily glean 
> information about my Guice configuration and what exactly is bound 
> through the Injector. I am ultimately hoping to expose this through a 
> simple web interface for environment testing and debugging. 
>
> I even looked at the Grapher but that didn't seem to provide what I 
> wanted either, assuming once again that I didn't miss something. 
>
> Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-guice/-/9tSPMiAyFhAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to