Dear all, 
Firstly, sorry for my bad English as it's not my native.

I started to learnt to  use Guice in my project recently.
My question is: How can I inject a value known by dependent to the 
dependency ? 

Let's say I have to write a custom web browser using Apache HttpClient.

> public class MyHttpClientImpl implements MyHttpClient {
> HttpClient client;
>        ResponseHandler<String> responseHandler;
>        @Inject
> public MyHttpClientImpl(ResponseHandler<String> responseHandler) {}
> }


class MyResponseHandler implements ResponseHandler<String>{
>     void doStuff(){}
>     @override
>     public String handleResponse(HttpResponse response){
>     }
>     ..... 
> }


It's perfect. However, in handleResponse() I need to access to 
MyHttpClientImpl for some action. For example, when I receive a HTTP 302 
error code, I would like to redirect my client to the new page.

Without DI, I just need to create a constructor 

> MyResponseHandler(MyHttpClient myHttpClient) {
> this.myHttpClient = myHttpClient;
> }

and call it in  MyHttpClientImpl:

>  ResponseHandler<String> responseHandler = new MyResponseHandler(this);


How can I do it with Guice?
I cannot declare MyHttpClientImpl as @Singleton, as I need lots instance of 
this class (ex for multiple tabs) 
Currently, I have to manually call  responseHandler.setHttpClient(this) in 
MyHttpClient, but for sure it's not good idea.

How can I do ? 
Any help are appreciated.
Thanks 
Tuan 



 




-- 
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 http://groups.google.com/group/google-guice.
For more options, visit https://groups.google.com/d/optout.

Reply via email to