Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hfdst3;
- import java.util.*;
- enum PresenceStatus {
- AANWEZIG,
- BEZET,
- AFWEZIG
- }
- // use Observer and Subject from Observer.java
- class Persoon2 extends Subject implements Observer {
- protected String id;
- protected PresenceStatus status;
- public Persoon2(String id){
- this.id = id;
- }
- public String toString(){
- return id;
- }
- // inherited method
- public void update(Subject s, Object arg){
- System.out.println("" + id + " : Subject " + s + " -> " + arg);
- }
- // new method
- public void updateStatus(PresenceStatus status) {
- this.status = status;
- notify(status);
- }
- }
- class LogSysteem2 extends Subject implements Observer {
- protected String id;
- protected ArrayList<String> messages = new ArrayList<>();
- public LogSysteem2(String id){
- this.id = id;
- }
- public String toString() {
- return messages.toString();
- }
- // inherited method
- public void update(Subject s, Object arg){
- // System.out.println(id + ":"+ o);
- messages.add("" + s + " : PresenceStatus changed to " + arg);
- }
- }
- class TestPresence {
- public static void main(String[] args){
- Persoon2 an = new Persoon2("an");
- Persoon2 jan = new Persoon2("jan");
- Persoon2 bruno = new Persoon2("bruno");
- Persoon2 sofie = new Persoon2("sofie");
- LogSysteem2 l1 = new LogSysteem2("l1");
- LogSysteem2 l2 = new LogSysteem2("l2");
- an.addObserver(jan);
- an.addObserver(bruno);
- an.addObserver(l1);
- an.addObserver(l2);
- an.updateStatus(PresenceStatus.AFWEZIG);
- an.updateStatus(PresenceStatus.BEZET);
- System.out.println(l1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement