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.
