Thanks , I would like to go with providers. Could you please post me the 
sample code like how can i configure my concrete classes with providers and 
how can i code the same to get the instance in resource class in my case 
OrganizationResource.

It will really help me to code i have a sample in place for the above 
example.


On Monday, February 24, 2014 3:01:47 PM UTC, scl wrote:
>
>  If you feel uncomfortable injecting the concrete instances you can 
> delegate the responsibility to choose the correct instance to a 
> provider/helper.
> The provider gets all concrete instances injected and has a method 
> getServiceFor(...) which returns the correct instance.
> You have to pass to the method getServiceFor(...) the information which is 
> needed to make the decision which instance to choose.
>
>
>
> On 02/24/2014 03:51 PM, sreenivasu puppala wrote:
>  
> Thank you !!  
>
> Can i get a sample example ?  
> Well, thats a good idea to inject concrete classes into the resource . 
> Could you also please send an example and if possible could you also please 
> tell me whether there any other ways of doing this?
>
> Thanks
> Sreeni
>
> On Monday, February 24, 2014 11:52:32 AM UTC, Moandji Ezana wrote: 
>>
>> If you need a specific implementation and can determine which one you 
>> need, I would inject both concrete classes into OrganizationResource and 
>> not have to do anything fancy.
>> On Feb 24, 2014 1:18 PM, "sreenivasu puppala" <[email protected]> 
>> wrote:
>>
>>> First of all thanks very much Tim for responding and sorry for not 
>>> giving the detailed information. Coming straight to the point
>>>
>>> Iam working on webservices . Heres's the Flow
>>>
>>> GET   http://localhost:8182/indi/provide/organizations/{ou}
>>>
>>>
>>> OrganizationsResource 
>>> -------->OrganizationService------>OrganizationServiceImpl
>>>      
>>> Iam binding OrganizationService with OrganizationServiceImpl and 
>>> injecting the OrganizationService in OrganizationsResource 
>>>
>>> @Inject
>>>     public void setOrganizationService(OrganizationService orgService) {
>>>         this.orgService= orgService;
>>>     }
>>>
>>>
>>> Its fine till here but i have two implementations for 
>>> OrganizationService --------->OrgDeatilsServiceImpl which does some other 
>>> job
>>>
>>> Now i want to bind both OrganizationServiceImpl and 
>>> OrgDeatilsServiceImpl to OrganizationService 
>>>
>>> Confusions:
>>>
>>> 1) What procedure i have to use in Guice to bind two implementaions?
>>> 2) How exactly i can code in OrganizationsResource  to dynamically 
>>> decide which implementation to call.
>>>
>>>
>>> I would appreciate if you give a sample example for the above 
>>> requirement.  
>>>
>>>
>>> Many thanks again for the quick reply and awaiting your response on this 
>>> mail.
>>>
>>>
>>> Thanks
>>> Sreni
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Thursday, February 20, 2014 5:30:52 AM UTC, Tim Boudreau wrote: 
>>>>
>>>>  You can do things like this with Guice 4's ProvisionListener.  I did 
>>>> that once, so that classes or packages could be annotated with a 
>>>> "namespace" that determined where properties they wanted injected would be 
>>>> loaded from, to allow some legacy code I was helping rearchitect code to 
>>>> migrate off of hard-coded paths to things and manually loading 
>>>> configuration.  See this: http://j.mp/1dPIuGN 
>>>>
>>>>  That being said, I've kind of regretted adding that feature ever 
>>>> since :-)
>>>>
>>>>  But I don't think you need anything so general or complex.
>>>>
>>>>  It's not clear from your post what you want to switch on to decide 
>>>> which implementation to provide.  You don't want to use @Named, but 
>>>> *something* has to choose which thing to inject.  So, where does the 
>>>> information live, which is used to decide that?  And does it change at 
>>>> runtime?
>>>>
>>>>  If it doesn't change at runtime, just give yourself a command-line 
>>>> argument or whatever equivalent makes sense for what you're doing (your 
>>>> class names above suggest some kind of test mode, but I'm guessing).  Have 
>>>> @ImplementedBy pointing to a mock implementation, and only install the 
>>>> module that binds the real implementation if that flag is not there (or is 
>>>> there, whatever you want).
>>>>
>>>>  If it's something more fancy, I don't think anyone can help you 
>>>> without knowing what information should be used to decide what to inject, 
>>>> and what part of the application has it.  If you know what that is, all 
>>>> you 
>>>> need to do is write a Provider that uses it.
>>>>
>>>>  -Tim
>>>>
>>>>   -- 
>>> 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/groups/opt_out.
>>>
>>   -- 
> 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] <javascript:>.
> To post to this group, send email to [email protected]<javascript:>
> .
> Visit this group at http://groups.google.com/group/google-guice.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  

-- 
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/groups/opt_out.

Reply via email to