Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- interface StockObservable{
- public void addObserver(Observer obj);
- public void removeObserver(Observer obj);
- public void notifyObservers();
- public void setData(int newStock);
- public int getData();
- }
- class IphoneObservable implements StockObservable{
- List<Observer> observers = new ArrayList<>();
- int currentStock = 0;
- public void addObserver(Observer obj){
- this.observers.add(obj);
- }
- public void removeObserver(Observer obj){
- this.observers.remove(obj);
- }
- public void notifyObservers(){
- for(Observer obj: this.observers){
- obj.update();
- }
- }
- public void setData(int newStock){
- if(this.currentStock != newStock){
- notifyObservers();
- currentStock = newStock;
- }
- }
- public int getData(){
- return currentStock;
- }
- }
- interface Observer{
- public void update();
- }
- class MobileObserver implements Observer{
- StockObservable observable;
- String username;
- MobileObserver(String username, StockObservable observable){
- this.username = username;
- this.observable = observable;
- }
- public void update(){
- System.out.println("mssg sent to" + this.username);
- }
- }
- public class Main{
- public static void main(String args[]){
- StockObservable iphones = new IphoneObservable();
- Observer observer1 = new MobileObserver("anon", iphones);
- Observer observer2 = new MobileObserver("anon2", iphones);
- iphones.addObserver(observer1);
- iphones.addObserver(observer2);
- iphones.setData(100);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement