package models; import play.mvc.Controller; public class FlashMessage { public Type messageType; public String text; public FlashMessage(Type messageType, String text) { this.messageType = messageType; this.text = text; } public FlashMessage(String message) { text = message; messageType = Type.WARNING; if (message.contains(": ")) { String[] messageParts = message.split(": ", 2); Type[] types = Type.values(); for (int i=0; i < types.length; i++) { if (types[i].toString().equals(messageParts[0])) { messageType = types[i]; text = messageParts[1]; break; } } } } @Override public String toString() { return messageType + ": " + text; } public void send() { Controller.flash("message", this.toString()); } public static FlashMessage updateSuccess = new FlashMessage(FlashMessage.Type.SUCCESS, "Your changes have been saved."); public static FlashMessage validationWarning = new FlashMessage(FlashMessage.Type.WARNING, "Please fill out all the required fields."); public static FlashMessage sysAdminOnlyWarning = new FlashMessage(FlashMessage.Type.WARNING, "Only the system administrator can do that!"); public enum Type { SUCCESS("success"), INFO("info"), WARNING("warning"), ERROR("danger"); private String value; private Type(String value) { this.value = value; } public String extractText(String message) { return value; } @Override public String toString() { return value; } } }