Home | History | Annotate | Download | only in coffee
      1 package coffee;
      2 
      3 import dagger.Lazy;
      4 import javax.inject.Inject;
      5 
      6 class CoffeeMaker {
      7   private final Lazy<Heater> heater; // Create a possibly costly heater only when we use it.
      8   private final Pump pump;
      9 
     10   @Inject CoffeeMaker(Lazy<Heater> heater, Pump pump) {
     11     this.heater = heater;
     12     this.pump = pump;
     13   }
     14 
     15   public void brew() {
     16     heater.get().on();
     17     pump.pump();
     18     System.out.println(" [_]P coffee! [_]P ");
     19     heater.get().off();
     20   }
     21 }
     22