I don't understand your problem well enough. This doesn't sound like an
advisable approach though. Can you explain the problem at a higher level?

Bob

On Fri, Feb 18, 2011 at 2:00 PM, deanhiller <[email protected]>wrote:

> In my Class, the client has this code
>
> well, you can get rid of the "static"s I realized later.  and then the
> client does this to ask for the one it needs...
>
> @Inject
> private ListenerProvider listenerProvider;
>
> and the client code then is...
>
> listenerProvider.setType(classFromSomeAnnotation);
> OurCacheListener listener = listenerProvider.get(); //returns an
> object of type classFromSomeAnnotation
>
> later,
> Dean
>
> On Feb 18, 11:39 am, Bob Lee <[email protected]> wrote:
> > On Fri, Feb 18, 2011 at 8:07 AM, deanhiller <[email protected]
> >wrote:
> >
> > > Last night, I tried doing creating a CustomProvider BUT then Guice is
> > > not injecting my CustomProvider with fields that have @Inject in my
> > > objects that get created(I was hoping Guice intercepted them and
> > > created them on-demand).  Is there a way to make this work....
> >
> > How do you choose which implementation to ask for? I'd probably use a
> > binding annotation instead of setting a thread local.
> >
> > To make your code work:
> >
> > public class ListenerProvider implements Provider<OurCacheListener> {
> >
> >   private static ThreadLocal<Class<?>> clazzThreadLocal =
> >         new ThreadLocal<Class<?>>();
> >
> >   @Inject private Injector injector;
> >
> >   @Override
> >   public OurCacheListener get() {
> > *     return (OurCacheListener)
> > injector.getInstance(clazzThreadLocal.get());*
> >   }
> >
> >   public static void setType(Class<?> clazz2) {
> >      clazzThreadLocal.set(clazz2);
> >   }
> >
> > }
>
> --
> You received this message because you are subscribed to the Google Groups
> "google-guice" group.
> 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.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
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