if MapBinder doesn't make the trick, maybe AssistedInject<http://code.google.com/p/google-guice/wiki/AssistedInject>can help you too
jordi On Fri, May 20, 2011 at 7:19 AM, Martin Cavanagh < [email protected]> wrote: > Hi Colin. > > That sounds very promissing. > I will try that out, thanks for you help. > > Martin > > > > On 20 May 2011 01:13, Colin wrote: > >> Sounds like for your use case >> MapBinder<http://google-guice.googlecode.com/svn/trunk/latest-javadoc/com/google/inject/multibindings/MapBinder.html> >> in >> the multibindings extension would be appropriate. >> >> -- >> Colin >> >> >> On Thu, May 19, 2011 at 7:00 PM, Martin Cavanagh < >> [email protected]> wrote: >> >>> Hi Fred. >>> >>> The problem is, that is too static for me. >>> >>> I have a series of customers / users sharing 1 database. >>> each users have different settings (the constants). >>> depending on which constant they have saved in the database, I wish get a >>> different implementation. >>> What I desire is. >>> >>> String myConstant = "SOME_CONSTANT"; //or "SOME_OTHER_CONSTANT"; >>> >>> Provider<GlobalSearchController> p...init provider >>> >>> GlobalSearchController controller = p.get()@Named(myConstant ); >>> >>> But the Provider doesn't seem to envisage the use of the @Named >>> parameter. >>> >>> I assume I've just missed the point of it all. >>> I want to bind at run time via a variable. >>> Inject wants me to define my binding conditions in the module? >>> >>> Thanks >>> >>> Martin >>> >>> >>> On 20.05.2011 00:51, Fred Faber wrote: >>> >>> Are you looking for: >>> >>> @Inject @Named("SOME_CONSTANT") >>> GlobalSearchController globalSearchController; >>> >>> Fred >>> >>> On Thu, May 19, 2011 at 5:39 PM, Marty < >>> [email protected]> wrote: >>> >>>> Hi Guice users. >>>> >>>> I'm rather new to Guice, but I'm really enjoying it. >>>> I have a fairly simple problem, but I can't figure out how to solve >>>> this. >>>> >>>> In my application I have some variables, which I want to use to decide >>>> which instance to create. >>>> >>>> e.g. >>>> my modules >>>> bind(GlobalSearchController.class) >>>> .annotatedWith(Names.named("SOME_CONSTANT")) >>>> .to(GlobalSearchControllerImpl.class); >>>> >>>> >>>> bind(GlobalSearchController.class) >>>> .annotatedWith(Names.named("SOME_OTHER_CONSTANT")) >>>> .to(GlobalSearchControllerOtherImpl.class); >>>> >>>> ... >>>> so then later in my code has >>>> String = "SOME_CONSTANT"; >>>> >>>> now how do I get Guice to give me an instance which matches to my >>>> constant? >>>> >>>> write now I have written a provider, which does IF/ELSE before >>>> creating an instance with new. >>>> Its not really now I envisaged solving this problem. >>>> >>>> Thanks in advance >>>> >>>> Martin >>>> >>>> -- >>>> 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. >>> >>> >>> -- >>> 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. >> > > -- > 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.
