For an DSL enhancement this does not look really intuitive to me.
Maybe you can explain it further.
Sven
On Sep 10, 7:43 am, "Josh McDonald" <[EMAIL PROTECTED]> wrote:
> Just spewing out ideas in my head - warning: they may be stupid, or
> impossible in Java since I'm in ActionScript mode and I've been working on
> my AS injector. So forgive lapses in existing Guice / Java syntax ;-)
>
> What if there were some sort of hierarchical scope maintained while
> injecting a particular object graph that could be hooked into at bind time?
> Something along the lines of:
>
> class Person {
> @Inject
> @Inherit(annotation=Named.class)
> @Named("direct")
> Phone directPhone;
>
> @Inject
> @Named("floor")
> @Inherit(annotation=Named.class)
> Phone floorPhone;
>
> }
>
> @Named("accounts")
> class Accounts {
> @Inject
> @Named("bob")
> Person bob;
>
> @Inject
> @Named("sue")
> Person sue;
>
> }
>
> bind(Phone.class).annotatedWith(Names.named("direct")).inheritingAnnotation(Names.named("bob")).to(bobsDeskPhone);
> bind(Phone.class).annotatedWith(Names.named("direct")).inheritingAnnotation(Names.named("sue")).to(suesDeskPhone);
> bind(Phone.class).annotatedWith(Names.named("floor")).inheritingAnnotation(Names.named("accounts")).to(accountsReceptionPhone);
>
> Thoughts?
>
> -Josh
>
> On Wed, Sep 10, 2008 at 2:27 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]>wrote:
>
>
>
>
>
> > On Sep 9, 10:06 am, Mikkel Petersen <[EMAIL PROTECTED]> wrote:
> > > Thanks I'll take a look at it. Wish there was a more simple way to do
> > > it though.
>
> > Definitely, we have this problem internally at Google as well.
> > We're planning on building out the hierarchical injectors so
> > they solve this problem natively.
>
> > If you're curious, I've written a blog post that attempts to
> > explain the motivations for hierarchical injectors:
> >http://publicobject.com/2008/06/whats-hierarchical-injector.html
>
> --
> "Therefore, send not to know For whom the bell tolls. It tolls for thee."
>
> http://flex.joshmcdonald.info/
>
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---