summaryrefslogtreecommitdiff
path: root/de/unibayreuth/se/observer/Subject.java
diff options
context:
space:
mode:
authorzeldakatze <coffee@zeldakatze.de>2025-07-01 15:06:59 +0200
committerzeldakatze <coffee@zeldakatze.de>2025-07-01 15:06:59 +0200
commit194e685746df778b8ccc72ac24d30e157d6fba04 (patch)
tree0361f866c88bb0bc473efd7f81d00b1950f15685 /de/unibayreuth/se/observer/Subject.java
parent93decd83a975100da2846c081efe3da8c24119f6 (diff)
downloadse25-assignment08-main.tar.gz
se25-assignment08-main.zip
ImplementHEADmain
Diffstat (limited to 'de/unibayreuth/se/observer/Subject.java')
-rw-r--r--de/unibayreuth/se/observer/Subject.java30
1 files changed, 17 insertions, 13 deletions
diff --git a/de/unibayreuth/se/observer/Subject.java b/de/unibayreuth/se/observer/Subject.java
index 2f0b5bb..659513e 100644
--- a/de/unibayreuth/se/observer/Subject.java
+++ b/de/unibayreuth/se/observer/Subject.java
@@ -1,21 +1,25 @@
package de.unibayreuth.se.observer;
+import java.util.*;
+
public abstract class Subject {
- // TODO
+ private List<Observer> observers;
- public Subject() {
- // TODO
- }
+ public Subject() {
+ observers = new ArrayList<Observer>();
+ }
- void attach(Observer observer) {
- // TODO
- }
+ void attach(Observer observer) {
+ observers.add(observer);
+ }
- void detach(Observer observer) {
- // TODO
- }
+ void detach(Observer observer) {
+ observers.remove(observer);
+ }
- protected void fireUpdate() {
- // TODO
- }
+ protected void fireUpdate() {
+ System.out.println("Sending update to observers ...");
+ for(Observer o : observers)
+ o.update(this);
+ }
}