summaryrefslogtreecommitdiffstats
path: root/server/src/com/vaadin/terminal/ErrorMessage.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/com/vaadin/terminal/ErrorMessage.java')
-rw-r--r--server/src/com/vaadin/terminal/ErrorMessage.java126
1 files changed, 126 insertions, 0 deletions
diff --git a/server/src/com/vaadin/terminal/ErrorMessage.java b/server/src/com/vaadin/terminal/ErrorMessage.java
new file mode 100644
index 0000000000..60a0780a72
--- /dev/null
+++ b/server/src/com/vaadin/terminal/ErrorMessage.java
@@ -0,0 +1,126 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.terminal;
+
+import java.io.Serializable;
+
+/**
+ * Interface for rendering error messages to terminal. All the visible errors
+ * shown to user must implement this interface.
+ *
+ * @author Vaadin Ltd.
+ * @version
+ * @VERSION@
+ * @since 3.0
+ */
+public interface ErrorMessage extends Serializable {
+
+ public enum ErrorLevel {
+ /**
+ * Error code for informational messages.
+ */
+ INFORMATION("info", 0),
+ /**
+ * Error code for warning messages.
+ */
+ WARNING("warning", 1),
+ /**
+ * Error code for regular error messages.
+ */
+ ERROR("error", 2),
+ /**
+ * Error code for critical error messages.
+ */
+ CRITICAL("critical", 3),
+ /**
+ * Error code for system errors and bugs.
+ */
+ SYSTEMERROR("system", 4);
+
+ String text;
+ int errorLevel;
+
+ private ErrorLevel(String text, int errorLevel) {
+ this.text = text;
+ this.errorLevel = errorLevel;
+ }
+
+ /**
+ * Textual representation for server-client communication of level
+ *
+ * @return String for error severity
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * Integer representation of error severity for comparison
+ *
+ * @return integer for error severity
+ */
+ public int intValue() {
+ return errorLevel;
+ }
+
+ @Override
+ public String toString() {
+ return text;
+ }
+
+ }
+
+ /**
+ * @deprecated from 7.0, use {@link ErrorLevel#SYSTEMERROR} instead    
+ */
+ @Deprecated
+ public static final ErrorLevel SYSTEMERROR = ErrorLevel.SYSTEMERROR;
+
+ /**
+ * @deprecated from 7.0, use {@link ErrorLevel#CRITICAL} instead    
+ */
+ @Deprecated
+ public static final ErrorLevel CRITICAL = ErrorLevel.CRITICAL;
+
+ /**
+ * @deprecated from 7.0, use {@link ErrorLevel#ERROR} instead    
+ */
+
+ @Deprecated
+ public static final ErrorLevel ERROR = ErrorLevel.ERROR;
+
+ /**
+ * @deprecated from 7.0, use {@link ErrorLevel#WARNING} instead    
+ */
+ @Deprecated
+ public static final ErrorLevel WARNING = ErrorLevel.WARNING;
+
+ /**
+ * @deprecated from 7.0, use {@link ErrorLevel#INFORMATION} instead    
+ */
+ @Deprecated
+ public static final ErrorLevel INFORMATION = ErrorLevel.INFORMATION;
+
+ /**
+ * Gets the errors level.
+ *
+ * @return the level of error as an integer.
+ */
+ public ErrorLevel getErrorLevel();
+
+ /**
+ * Returns the HTML formatted message to show in as the error message on the
+ * client.
+ *
+ * This method should perform any necessary escaping to avoid XSS attacks.
+ *
+ * TODO this API may still change to use a separate data transfer object
+ *
+ * @return HTML formatted string for the error message
+ * @since 7.0
+ */
+ public String getFormattedHtmlMessage();
+
+}