Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- public class StockMediator implements Mediator {
- private ArrayList<Colleague> colleagues;
- private ArrayList<Stock> stonks;
- public StockMediator() {
- colleagues = new ArrayList<>();
- stonks = new ArrayList<>();
- }
- public void addColleague(Colleague newColleague) {
- colleagues.add(newColleague);
- }
- public void addStock(Stock stock){
- stonks.add(stock);
- }
- public void stockChange() {
- for (Stock stock : stonks) {
- if (stock.getFreshness()) {
- for (Colleague coll : colleagues) {
- coll.getNewPrice(stock.getStockPrice(), stock.getstockName());
- }
- stock.setOld();
- }
- }
- }
- }
- public interface Mediator {
- public void stockChange();
- public void addColleague(Colleague colleague);
- }
- public abstract class Colleague {
- private Mediator mediator;
- public Colleague(Mediator newMediator) {
- mediator = newMediator;
- mediator.addColleague(this);
- }
- public void getNewPrice(int newPrice, String name) {
- System.out.println("New price for stock " + name + ": " + newPrice);
- }
- }
- public class ŻakStox extends Colleague {
- public ŻakStox(Mediator newMediator) {
- super(newMediator);
- System.out.println("ŻakStox signed up with the stockexchange\n");
- }
- }
- public class Stock {
- private String stockName = "";
- private int stockPrice = 0;
- private boolean ifNew = true;
- public Stock(String stockName, int stockPrice) {
- this.stockName = stockName;
- this.stockPrice = stockPrice;
- }
- public String getstockName() {
- return stockName;
- }
- public int getStockPrice() {
- return stockPrice;
- }
- public void setOld() {
- this.ifNew = false;
- }
- public boolean getFreshness() { return ifNew; }
- public void setNewPrice(int newPrice) {
- ifNew = true;
- stockPrice = newPrice;
- }
- }
- import java.util.ArrayList;
- public class Main {
- public static void main(String[] args) {
- StockMediator mediator = new StockMediator();
- ŻakStox żak = new ŻakStox(mediator);
- ŻakStox żak1 = new ŻakStox(mediator);
- Stock stock = new Stock("PWr", 666);
- Stock stock1 = new Stock("Zaliczcie mi mpis", 13);
- mediator.addStock(stock);
- mediator.addStock(stock1);
- mediator.stockChange();
- stock.setNewPrice(15);
- mediator.stockChange();
- stock.setNewPrice(737);
- stock1.setNewPrice(42);
- mediator.stockChange();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement