Class CustomizedSystemMessages

java.lang.Object
com.vaadin.flow.server.SystemMessages
com.vaadin.flow.server.CustomizedSystemMessages
All Implemented Interfaces:
Serializable

public class CustomizedSystemMessages extends SystemMessages
Contains the system messages used to notify the user about various critical situations that can occur.

Vaadin gets the SystemMessages from the SystemMessagesProvider configured in VaadinService. You can customize this by creating a VaadinServiceInitListener that sets an instance of SystemMessagesProvider to VaadinService.setSystemMessagesProvider(SystemMessagesProvider), that in turns creates instances of CustomizedSystemMessages.

The default behavior is to show a notification, and reload the browser page once the user clicks the message.
However, only for session expiration, that default is to reload the page without any notification. Instead of reloading the page, you can set a specific URL that the user is taken to.
Setting both caption and message to null will reload the page (or go to the specified URL) without displaying a notification. set*NotificationEnabled(false) will achieve the same thing.

The situations are:

  • Session expired: the user session has expired, usually due to inactivity.
  • Cookies disabled: the cookie support is disabled in the browser.
  • Internal error: unhandled critical server error (e.g out of memory, database crash)
  • Synchronization error: client and server are out of sync due to abrupt server termination (e.g., OOMKilled, SIGKILL) before UI state was saved
Since:
1.0
See Also:
  • Constructor Details

    • CustomizedSystemMessages

      public CustomizedSystemMessages()
  • Method Details

    • setSessionExpiredURL

      public void setSessionExpiredURL(String sessionExpiredURL)
      Sets the URL the user will be redirected to after dismissing a "session expired" message. Default value is null.
      Parameters:
      sessionExpiredURL - the URL to redirect to, or null to refresh the page
    • setSessionExpiredNotificationEnabled

      public void setSessionExpiredNotificationEnabled(boolean sessionExpiredNotificationEnabled)
      Sets whether a "session expired" notification should be shown to the end user. If the notification is disabled the user will be immediately redirected to the URL returned by SystemMessages.getSessionExpiredURL(). By default, the "session expired" notification is disabled.
      Parameters:
      sessionExpiredNotificationEnabled - true to show the notification to the end user, false to redirect directly
    • setSessionExpiredCaption

      public void setSessionExpiredCaption(String sessionExpiredCaption)
      Sets the caption to show in a "session expired" notification.

      If both SystemMessages.getSessionExpiredCaption() and SystemMessages.getSessionExpiredMessage() return null, the user will automatically be forwarded to the URL returned by SystemMessages.getSessionExpiredURL() when the session expires.

      Parameters:
      sessionExpiredCaption - The caption to show or null to show no caption.
    • setSessionExpiredMessage

      public void setSessionExpiredMessage(String sessionExpiredMessage)
      Sets the message to show in a "session expired" notification.

      If both SystemMessages.getSessionExpiredCaption() and SystemMessages.getSessionExpiredMessage() return null, the user will automatically be forwarded to the URL returned by SystemMessages.getSessionExpiredURL() when the session expires.

      Parameters:
      sessionExpiredMessage - The message to show or null to show no message.
    • setInternalErrorURL

      public void setInternalErrorURL(String internalErrorURL)
      Sets the URL the user will be redirected to after dismissing an "internal error" message. Default value is null.
      Parameters:
      internalErrorURL - the URL to redirect to, or null to refresh the page
    • setInternalErrorNotificationEnabled

      public void setInternalErrorNotificationEnabled(boolean internalErrorNotificationEnabled)
      Sets whether an "internal error" notification should be shown to the end user. If the notification is disabled the user will be immediately redirected to the URL returned by SystemMessages.getInternalErrorURL(). By default, the "internal error" notification is enabled.
      Parameters:
      internalErrorNotificationEnabled - true to show the notification to the end user, false to redirect directly
    • setInternalErrorCaption

      public void setInternalErrorCaption(String internalErrorCaption)
      Sets the caption to show in an "internal error" notification.
      Parameters:
      internalErrorCaption - The caption to show or null to show no caption.
    • setInternalErrorMessage

      public void setInternalErrorMessage(String internalErrorMessage)
      Sets the message to show in an "internal error" notification.
      Parameters:
      internalErrorMessage - The message to show or null to show no message.
    • setCookiesDisabledURL

      public void setCookiesDisabledURL(String cookiesDisabledURL)
      Sets the URL the user will be redirected to after dismissing a "cookies disabled" message. Default value is null.
      Parameters:
      cookiesDisabledURL - the URL to redirect to, or null to refresh the page
    • setCookiesDisabledNotificationEnabled

      public void setCookiesDisabledNotificationEnabled(boolean cookiesDisabledNotificationEnabled)
      Sets whether a "cookies disabled" notification should be shown to the end user. If the notification is disabled the user will be immediately redirected to the URL returned by SystemMessages.getCookiesDisabledURL(). By default, the "cookies disabled" notification is enabled.
      Parameters:
      cookiesDisabledNotificationEnabled - true to show the notification to the end user, false to redirect directly
    • setCookiesDisabledCaption

      public void setCookiesDisabledCaption(String cookiesDisabledCaption)
      Sets the caption to show in an "cookies disabled" notification.
      Parameters:
      cookiesDisabledCaption - The caption to show or null to show no caption.
    • setCookiesDisabledMessage

      public void setCookiesDisabledMessage(String cookiesDisabledMessage)
      Sets the message to show in a "cookies disabled" notification.
      Parameters:
      cookiesDisabledMessage - The message to show or null to show no message.
    • setSyncErrorURL

      public void setSyncErrorURL(String syncErrorURL)
      Sets the URL the user will be redirected to after dismissing a "synchronization error" message. Default value is null.
      Parameters:
      syncErrorURL - the URL to redirect to, or null to refresh the page
      Since:
      25.1
    • setSyncErrorNotificationEnabled

      public void setSyncErrorNotificationEnabled(boolean syncErrorNotificationEnabled)
      Sets whether a "synchronization error" notification should be shown to the end user. If the notification is disabled the user will be immediately redirected to the URL returned by SystemMessages.getSyncErrorURL().

      Synchronization errors occur when the client and server become out of sync, typically due to an abrupt server restart (e.g., OOMKilled, SIGKILL) before the UI state could be serialized. By default, the "synchronization error" notification is enabled.

      Parameters:
      syncErrorNotificationEnabled - true to show the notification to the end user, false to redirect directly
      Since:
      25.1
    • setSyncErrorCaption

      public void setSyncErrorCaption(String syncErrorCaption)
      Sets the caption to show in a "synchronization error" notification.
      Parameters:
      syncErrorCaption - The caption to show or null to show no caption.
      Since:
      25.1
    • setSyncErrorMessage

      public void setSyncErrorMessage(String syncErrorMessage)
      Sets the message to show in a "synchronization error" notification.
      Parameters:
      syncErrorMessage - The message to show or null to show no message.
      Since:
      25.1