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.