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.
