Advertisement
timdebuyst

Presence.java

Mar 7th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.64 KB | None | 0 0
  1. package hfdst3;
  2.  
  3. import java.util.*;
  4.  
  5. enum PresenceStatus {
  6.     AANWEZIG,
  7.     BEZET,
  8.     AFWEZIG
  9. }
  10.  
  11. // use Observer and Subject from Observer.java
  12.  
  13. class Persoon2 extends Subject implements Observer {
  14.     protected String id;
  15.     protected PresenceStatus status;
  16.     public Persoon2(String id){
  17.         this.id = id;
  18.     }
  19.     public String toString(){
  20.         return id;
  21.     }
  22.     // inherited method
  23.     public void update(Subject s, Object arg){
  24.         System.out.println("" + id + " : Subject " + s + " -> " + arg);
  25.     }
  26.     // new method
  27.     public void updateStatus(PresenceStatus status) {
  28.         this.status = status;
  29.         notify(status);
  30.     }
  31. }
  32.  
  33. class LogSysteem2 extends Subject implements Observer {
  34.     protected String id;
  35.     protected ArrayList<String> messages = new ArrayList<>();
  36.     public LogSysteem2(String id){
  37.         this.id = id;
  38.     }
  39.     public String toString() {
  40.         return messages.toString();
  41.     }
  42.     // inherited method
  43.     public void update(Subject s, Object arg){
  44.         // System.out.println(id + ":"+ o);
  45.         messages.add("" + s + " : PresenceStatus changed to " + arg);
  46.     }
  47. }
  48.  
  49.  
  50.  
  51. class TestPresence {
  52.     public static void main(String[] args){
  53.         Persoon2 an = new Persoon2("an");
  54.         Persoon2 jan = new Persoon2("jan");
  55.         Persoon2 bruno = new Persoon2("bruno");
  56.         Persoon2 sofie = new Persoon2("sofie");
  57.         LogSysteem2 l1 = new LogSysteem2("l1");
  58.         LogSysteem2 l2 = new LogSysteem2("l2");
  59.         an.addObserver(jan);
  60.         an.addObserver(bruno);
  61.         an.addObserver(l1);
  62.         an.addObserver(l2);
  63.         an.updateStatus(PresenceStatus.AFWEZIG);
  64.         an.updateStatus(PresenceStatus.BEZET);
  65.         System.out.println(l1);
  66.     }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement