public class BogTitel implements Subject { private String titel; private int antal; private ArrayList observers = new ArrayList(); private ArrayListkunder = new ArrayList(); public BogTitel(String titel, int antal) { this.titel = titel; this.antal = antal; } public void fire() { for (int i = 0; i < observers.size(); i++){ observers.get(i).update(this); } } // MANGLER public String getTitel() { return titel; } // denne metode er nødt til at findes, for ellers kan antallet af bogen ikke // opdateres, når der indkøbes nye bøger Se indkøber, update-metoden) public void setAntal(int antal) { this.antal = antal; } public int getAntal() { return antal; } public int intkoebTilLager(int antal) { // DUR IKKE if (antal < 6) { for (int i = 0; i < observers.size(); i++) { Observer observer = (Observer) observers.get(i); observer.update(s); // NEJ NEJ NEJ, og lad nu være med at // override på antal ;) } } return antal; } // • at metoden etKoeb(k: Kunde): void på BogTitel har følgende // specifikation: // // Associeringen mellem den aktuelle bogtitel og kunden k er opdateret, // bogens antal er reduceret med en og alle observers skal have information // om, at bogen er solgt. public void etKoeb(Kunde k) { } // MANGLER public void addObserver(Observer o) { observers.add(o); } public void removeObserver(Observer o) { if (observers.contains(o)) { observers.remove(o); } } }