-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPowerButton.java
More file actions
32 lines (26 loc) · 853 Bytes
/
PowerButton.java
File metadata and controls
32 lines (26 loc) · 853 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package behavioral.command;
public class PowerButton implements Command {
private final RemoteController remoteController;
private final Power power;
private String actionMessage;
public PowerButton(RemoteController remoteController) {
this.remoteController = remoteController;
this.power = Power.getInstance();
}
@Override
public Boolean execute() {
if (this.power.toggle()) {
this.actionMessage = "Air conditioner is turn on";
} else {
this.actionMessage = "Air conditioner is turn off";
this.remoteController.clearCommandHistory();
}
Main.println(this.actionMessage);
return Boolean.TRUE;
}
@Override
public void undo() {
this.power.toggle();
Main.println("Undo, " + this.actionMessage);
}
}