public class Originator {
private String state = "OFF";
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public Memento createMemento() {
return new Memento(state);
}
public void setMemento(Memento memento) {
state = memento.getState();
System.out.println("状態を" + state + "に戻しました");
}
}
public class Client {
public static void main(String[] args) {
Originator o = new Originator();
o.setState("ON");
Caretaker ct = new Caretaker();
ct.setMemento(o.createMemento());
o.setState("OFF");
o.setMemento(ct.getMemento());
}
}