-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathUserObserver.java
More file actions
31 lines (25 loc) · 949 Bytes
/
UserObserver.java
File metadata and controls
31 lines (25 loc) · 949 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
package observerpattern.puzzle.user.dto;
import observerpattern.puzzle.company.dto.CompanyDatas;
import observerpattern.puzzle.company.dto.CompanySubject;
import observerpattern.puzzle.user.domain.User;
public class UserObserver implements Observer {
private CompanySubject companySubject;
private String name;
private int price;
private User user;
public UserObserver(CompanySubject companySubject, User user) {
this.companySubject = companySubject;
this.user = user;
this.price = companySubject.getPrice();
this.name = companySubject.getName();
this.companySubject.addObserver(this);
}
public static UserObserver toDto(CompanySubject companySubject, User user) {
return new UserObserver(companySubject, user);
}
@Override
public void notification() {
this.name = companySubject.getName();
this.price = companySubject.getPrice();
}
}