Hi,

I spent the past few days really learning the ins and outs of Guice. It's starting to make a lot of sense.

However, one area that is difficult is overriding the implementation classes. Guice only allows you to override entire modules. If you only want to override only one or two bindings this becomes quite tedious. Right now we have:

CommonGuiceModule - binds SecurityTokenDecoder
DefaultGuiceModule - binds 15 interfaces
HttpGuiceModule - binds 4 interfaces
DefaultModelGuiceModule - binds 11 interfaces
SocialApiGuiceModule - binds 11 interfaces

Now, right now I only want to implement my own interfaces for:

PeopleService
PersonService
OpenSocialDataHandler
SecurityTokenDecoder
ActivitiesService
HttpFetcher
DataService
Person

This requires a new CommonGuiceModule, DefaultGuiceModule, DefaultModelGuiceModule, SocialApiGuiceModule and a whole bunch of cut- and-paste code.

Is there anyway to make this easier? Splitting things up into smaller modules doesn't seem productive. Perhaps we could use @ImplementedBy pointing at the defaults shindig implementation classes?


Paul Lindner
[EMAIL PROTECTED]



Reply via email to