View difference between Paste ID: bWzkJAPd and acF4AKTW
SHOW: | | - or go back to the newest paste.
1
	import java.util.ArrayList;
2
3
	public class StockMediator implements Mediator {
4
5
        private ArrayList<Colleague> colleagues;
6
        private ArrayList<Stock> stonks;
7
8
        public StockMediator() {
9
            colleagues = new ArrayList<>();
10
            stonks = new ArrayList<>();
11
        }
12
13
        public void addColleague(Colleague newColleague) {
14
            colleagues.add(newColleague);
15
        }
16
17
        public void addStock(Stock stock){
18
            stonks.add(stock);
19
        }
20
21
        public void stockChange() {
22
            for (Stock stock : stonks) {
23
                if (stock.getFreshness()) {
24
                    for (Colleague coll : colleagues) {
25
                        coll.getNewPrice(stock.getStockPrice(), stock.getstockName());
26
                    }
27
                    stock.setOld();
28
                }
29
            }
30
31
        }
32
    }
33
34
35
	public interface Mediator {
36
37
        public void stockChange();
38
39
        public void addColleague(Colleague colleague);
40
41
    }
42
43
44
45
	public abstract class Colleague {
46
47
        private Mediator mediator;
48
49
        public Colleague(Mediator newMediator) {
50
            mediator = newMediator;
51
            mediator.addColleague(this);
52
        }
53
54
        public void getNewPrice(int newPrice, String name) {
55
            System.out.println("New price for stock " + name + ": " + newPrice);
56
        }
57
    }
58
59
60
61
62
	public class ŻakStox extends Colleague {
63
64
    	public ŻakStox(Mediator newMediator) {
65
        	super(newMediator);
66
67
        	System.out.println("ŻakStox signed up with the stockexchange\n");
68
69
   		}
70
71
	}
72
73
74
75
	public class Stock {
76
77
    	private String stockName = "";
78
    	private int stockPrice = 0;
79
    	private boolean ifNew = true;
80
81
82
    	public Stock(String stockName, int stockPrice) {
83
84
        	this.stockName = stockName;
85
        	this.stockPrice = stockPrice;
86
87
    	}
88
89
    	public String getstockName() {
90
        	return stockName;
91
    	}
92
93
    	public int getStockPrice() {
94
        return stockPrice;
95
    	}
96
97
    	public void setOld() {
98
        	this.ifNew = false;
99
    	}
100
101
    	public boolean getFreshness() { return ifNew; }
102
103
    	public void setNewPrice(int newPrice) {
104
        	ifNew = true;
105
        	stockPrice = newPrice;
106
    	}
107
	}
108
109
110
import java.util.ArrayList;
111
112
public class Main {
113
114
    public static void main(String[] args) {
115
        StockMediator mediator = new StockMediator();
116
117
        ŻakStox żak = new ŻakStox(mediator);
118
        ŻakStox żak1 = new ŻakStox(mediator);
119
        Stock stock = new Stock("PWr", 666);
120
        Stock stock1 = new Stock("Zaliczcie mi mpis", 13);
121
        mediator.addStock(stock);
122
        mediator.addStock(stock1);
123
124
        mediator.stockChange();
125
126
        stock.setNewPrice(15);
127
        mediator.stockChange();
128
129
        stock.setNewPrice(737);
130
        stock1.setNewPrice(42);
131
        mediator.stockChange();
132
    }
133
}