Thanks alot.

On Feb 20, 7:09 pm, Fred Faber <[email protected]> wrote:
> AssistedInject is what you want.
>
> On Feb 20, 2010 7:04 AM, "Tatchan" <[email protected]> wrote:
>
> I'm using Guice for the first time and find no convenient way to pass
> an existing object as parameter of a constructor:
>
> interface House {
>    PowerSupply getPowerSupply();
>    WaterSupply getWaterSupply();
>    // More common utilities...
>
> }
>
> interface Lamp {
>    void light();
>
> }
>
> class LampImpl implements Lamp {
>    private final House house;
>
>    public Lamp(House house) {
>        this.house = house;
>    }
>
>    public void light() {
>        PowerSupply power = house.getPowerSupply();
>       // Light the lamp;
>    }
>
> }
>
> class RoomImpl {
>    private final House house;
>    private Vector<Lamp> lamps;
>
>    public Room(House house) {
>        this.house = house;
>    }
>
>    void clean() {
>        WaterSupply water = house.getWaterSupply();
>        // clean the room
>    }
>
>    void addLamp() {
>        Lamp lamp = new LampImpl(house);
>        lamps.add(lamp);
>    }
>
> }
>
> class Kitchen {
> // Similar to Room
>
> }
>
> The idea is: we have rooms and kitchens and lamps who need common
> utilities supplied by the containing house.
>
> The question is: How do I apply Guice to create lamps inside a room?
> How can I do something like: Lamp lamp =
> injector.getInstance(Lamp.class, house) ?
>
> --
> 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]<google-guice%[email protected]>
> .
> For more options, visit this group 
> athttp://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.

Reply via email to