1 /*
2  * Copyright (C) 2020 The Dagger Authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package example.dagger;
18 
19 import javax.inject.Inject;
20 
21 /** An electric heater to heat the coffee. */
22 public class ElectricHeater implements Heater {
23 
24   private final CoffeeLogger logger;
25   private boolean heating;
26 
27   @Inject
ElectricHeater(CoffeeLogger logger)28   ElectricHeater(CoffeeLogger logger) {
29     this.logger = logger;
30   }
31 
32   @Override
on()33   public void on() {
34     this.heating = true;
35     logger.log("~ ~ ~ heating ~ ~ ~");
36   }
37 
38   @Override
off()39   public void off() {
40     this.heating = false;
41   }
42 
43   @Override
isHot()44   public boolean isHot() {
45     return heating;
46   }
47 }
48