Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Flight {
- }
- class Observer {
- private String eMail;
- private Flight flight;
- Observer(String eMail, Flight flight) {
- this.eMail = eMail;
- this.flight = flight;
- }
- public void subscribe() {
- System.out.println("Subscribe this flight on this eMail");
- }
- }
- class Observable {
- private ArrayList<Observer> observers = new ArrayList<>();
- public void addObserver(Observer o) {
- observers.add(o);
- }
- public void removeObserverByFlight(Flight f) {
- observers.remove(f);
- }
- public void sendMessageByFlight(Flight flight) {
- System.out.println("Your flight is available");
- }
- }
- class ClientController {
- Observable observable;
- public void orderFlight(Flight flight, String email) {
- try {
- //flight is reserved
- } catch (Exception noPlaces) {
- Observer observer = new Observer(email, flight);
- observable.addObserver(observer);
- observer.subscribe();
- }
- }
- }
- class FlightRepository implements Repository<Flight> {
- Observable observable = new Observable();
- @Override
- public void add(Flight flight) {
- //add flight
- observable.sendMessageByFlight(flight);
- observable.removeObserverByFlight(flight);
- }
- @Override
- public void remove(Flight flight) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement