package fi.utu.ville.exercises.model; import com.vaadin.navigator.View; import com.vaadin.navigator.ViewChangeListener.ViewChangeEvent; import com.vaadin.ui.VerticalLayout; public abstract class VilleContent extends VerticalLayout implements View { private static final long serialVersionUID = 1L; private VilleUI ui; public VilleContent(VilleUI ui) { init(ui); } public void init(VilleUI ui) { this.ui = ui; } public abstract void doLayout(); public abstract boolean isOkToExit(); public DialogWithConfirm getConfirmExitDialog() { return null; } public VilleUI getVilleUI() { return ui; } protected boolean changeContent(VilleContent content) { return ui.changeContent(content); } /** * The return value must be unique and suitable as URI (no spacing etc.). * * @return Unique URI */ public abstract String getViewName(); /* Comes from interface View */ @Override public void enter(ViewChangeEvent event) { } /** * Returns prettified information about the content suitable for displaying to users or in error reports. Must not contain sensitive information (e.g. * usernames, passwords) * * @return A String containing information about the content or toString() if there is nothing interesting to show. */ public String getPrettyInformation() { return toString(); } }