/** * Copyright (c) 2015, Lindsay Bradford and other Contributors. * All rights reserved. * * This program and the accompanying materials are made available * under the terms of the BSD 3-Clause licence which accompanies * this distribution, and is available at * http://opensource.org/licenses/BSD-3-Clause */ package blacksmyth.personalfinancier.control; import java.util.Observer; import blacksmyth.personalfinancier.view.IPersonalFinancierView; import blacksmyth.personalfinancier.view.IPersonalFinancierView.Events; import blacksmyth.personalfinancier.model.IPersomalFinancierModel; /** * The interface Personal Financier Presenter classes should implement. * It is a Presenter as per the MVP design pattern. * */ public interface IPersoanalFinancierPresenter extends Observer { /** * Binds the supplied view to this presenter, so the presenter can issue * user-interface updates to the view, and receive user event notifications from it. * @see blacksmyth.personalfinancier.view.IPersonalFinancierView * @param view */ public void addView(IPersonalFinancierView view); /** * Responds to the user-triggered event raised by the supplied view. * @see blacksmyth.personalfinancier.view.IPersonalFinancierView * @see blacksmyth.personalfinancier.view.IPersonalFinancierView.Events * @param view * @param event */ public void processEvent(IPersonalFinancierView view, Events event); public void setModel(IPersomalFinancierModel model); }