and of course I found the answer right after posting this: Multibindings: http://code.google.com/p/google-guice/wiki/Multibindings
I will play with this. leo On May 18, 10:13 am, leo <[email protected]> wrote: > Hi. I just started to experiment with Guice and have a question. What > is the best way to do the following: > > - I have an abstract class Animal > - Want to start the application with a specific implementation of the > Animal class say Dog > - I specify "animalClass = Dog" in a properties file. > - To create a Dog I need to pass many parameters, say: > dog.breed = pitbull > dog.weight = 40 > ... > > In AnimalModule I do this: > > @Provides > Animal provideDog() { > Animal dog = new Dog( > config.getString("dog.breed"), > config.getInt("dog.weight"), > ... > ); > return dog; > } > > This works fine. I can get my dogs in some class as follows: > > Injector injector = Guice.createInjector(new AnimalModule()); > > Animal dog = injector.getInstance(Dog.class); > > My question is how can I do this without hardcoding Dog in the module. > Say tomorrow I want to create a Cat with another set of parameters. I > can see how to load components in Spring and other frameworks but I > want to keep this lightweight and I don't want to write framework code > to do this with reflection. Thoughts? > > Thanks, > -leo -- 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.
