-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathMomentoLesson.java
More file actions
54 lines (45 loc) · 1.1 KB
/
Copy pathMomentoLesson.java
File metadata and controls
54 lines (45 loc) · 1.1 KB
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package patterns.behavioral;
public class MomentoLesson {
public static void main(String[] args) {
Originator originator = new Originator();
CareTaker careTaker = new CareTaker();
originator.setState("one");
careTaker.createMomento(originator);
originator.setState("two");
originator.setMomento(careTaker.getMomento());
System.out.println(originator.getState());
}
}
class CareTaker {
Momento momento;
void createMomento(Originator originator){
this.momento = originator.createMomento();
}
Momento getMomento(){
return momento;
}
}
class Originator {
String state;
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
Momento createMomento() {
return new Momento(state);
}
void setMomento(Momento momento) {
this.state = momento.getState();
}
}
class Momento {
String state;
Momento(String state) {
this.state = state;
}
public String getState() {
return state;
}
}