/*
* Copyright 2000-2016 Vaadin Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.vaadin.server;
import java.io.Serializable;
/**
* Contains the system messages used to notify the user about various critical
* situations that can occur.
* <p>
* Vaadin gets the SystemMessages from your application by calling a static
* getSystemMessages() method. By default the Application.getSystemMessages() is
* used. You can customize this by defining a static
* MyApplication.getSystemMessages() and returning CustomizedSystemMessages.
* Note that getSystemMessages() is static - changing the system messages will
* by default change the message for all users of the application.
* </p>
* <p>
* The default behavior is to show a notification, and restart the application
* the the user clicks the message. <br/>
* Instead of restarting the application, you can set a specific URL that the
* user is taken to.<br/>
* Setting both caption and message to null will restart the application (or go
* to the specified URL) without displaying a notification.
* set*NotificationEnabled(false) will achieve the same thing.
* </p>
* <p>
* The situations are:
* <li>Session expired: the user session has expired, usually due to inactivity.
* </li>
* <li>Communication error: the client failed to contact the server, or the
* server returned and invalid response.</li>
* <li>Internal error: unhandled critical server error (e.g out of memory,
* database crash)
* </p>
*/
public class CustomizedSystemMessages extends SystemMessages
implements Serializable {
/**
* Sets the URL to go to when the session has expired.
*
* @param sessionExpiredURL
* the URL to go to, or null to reload current
*/
public void setSessionExpiredURL(String sessionExpiredURL) {
this.sessionExpiredURL = sessionExpiredURL;
}
/**
* Enables or disables the notification. If disabled, the set URL (or
* current) is loaded directly when next transaction between server and
* client happens.
*
* @param sessionExpiredNotificationEnabled
* true = enabled, false = disabled
*/
public void setSessionExpiredNotificationEnabled(
boolean sessionExpiredNotificationEnabled) {
this.sessionExpiredNotificationEnabled = sessionExpiredNotificationEnabled;
}
/**
* Sets the caption of the notification. Set to null for no caption. If both
* caption and message are null, client automatically forwards to
* sessionExpiredUrl after timeout timer expires. Timer uses value read from
* HTTPSession.getMaxInactiveInterval()
*
* @param sessionExpiredCaption
* the caption
*/
public void setSessionExpiredCaption(String sessionExpiredCaption) {
this.sessionExpiredCaption = sessionExpiredCaption;
}
/**
* Sets the message of the notification. Set to null for no message. If both
* caption and message are null, client automatically forwards to
* sessionExpiredUrl after timeout timer expires. Timer uses value read from
* HTTPSession.getMaxInactiveInterval()
*
* @param sessionExpiredMessage
* the message
*/
public void setSessionExpiredMessage(String sessionExpiredMessage) {
this.sessionExpiredMessage = sessionExpiredMessage;
}
/**
* Sets the URL to go to when there is a authentication error.
*
* @param authenticationErrorURL
* the URL to go to, or null to reload current
*/
public void setAuthenticationErrorURL(String authenticationErrorURL) {
this.authenticationErrorURL = authenticationErrorURL;
}
/**
* Enables or disables the notification. If disabled, the set URL (or
* current) is loaded directly.
*
* @param authenticationErrorNotificationEnabled
* true = enabled, false = disabled
*/
public void setAuthenticationErrorNotificationEnabled(
boolean authenticationErrorNotificationEnabled) {
this.authenticationErrorNotificationEnabled = authenticationErrorNotificationEnabled;
}
/**
* Sets the caption of the notification. Set to null for no caption. If both
* caption and message is null, the notification is disabled;
*
* @param authenticationErrorCaption
* the caption
*/
public void setAuthenticationErrorCaption(
String authenticationErrorCaption) {
this.authenticationErrorCaption = authenticationErrorCaption;
}
/**
* Sets the message of the notification. Set to null for no message. If both
* caption and message is null, the notification is disabled;
*
* @param authenticationErrorMessage
* the message
*/
public void setAuthenticationErrorMessage(
String authenticationErrorMessage) {
this.authenticationErrorMessage = authenticationErrorMessage;
}
/**
* Sets the URL to go to when there is a communication error.
*
* @param communicationErrorURL
* the URL to go to, or null to reload current
*/
public void setCommunicationErrorURL(String communicationErrorURL) {
this.communicationErrorURL = communicationErrorURL;
}
/**
* Enables or disables the notification. If disabled, the set URL (or
* current) is loaded directly.
*
* @param communicationErrorNotificationEnabled
* true = enabled, false = disabled
*/
public void setCommunicationErrorNotificationEnabled(
boolean communicationErrorNotificationEnabled) {
this.communicationErrorNotificationEnabled = communicationErrorNotificationEnabled;
}
/**
* Sets the caption of the notification. Set to null for no caption. If both
* caption and message is null, the notification is disabled;
*
* @param communicationErrorCaption
* the caption
*/
public void setCommunicationErrorCaption(String communicationErrorCaption) {
this.communicationErrorCaption = communicationErrorCaption;
}
/**
* Sets the message of the notification. Set to null for no message. If both
* caption and message is null, the notification is disabled;
*
* @param communicationErrorMessage
* the message
*/
public void setCommunicationErrorMessage(String communicationErrorMessage) {
this.communicationErrorMessage = communicationErrorMessage;
}
/**
* Sets the URL to go to when an internal error occurs.
*
* @param internalErrorURL
* the URL to go to, or null to reload current
*/
public void setInternalErrorURL(String internalErrorURL) {
this.internalErrorURL = internalErrorURL;
}
/**
* Enables or disables the notification. If disabled, the set URL (or
* current) is loaded directly.
*
* @param internalErrorNotificationEnabled
* true = enabled, false = disabled
*/
public void setInternalErrorNotificationEnabled(
boolean internalErrorNotificationEnabled) {
this.internalErrorNotificationEnabled = internalErrorNotificationEnabled;
}
/**
* Sets the caption of the notification. Set to null for no caption. If both
* caption and message is null, the notification is disabled;
*
* @param internalErrorCaption
* the caption
*/
public void setInternalErrorCaption(String internalErrorCaption) {
this.internalErrorCaption = internalErrorCaption;
}
/**
* Sets the message of the notification. Set to null for no message. If both
* caption and message is null, the notification is disabled;
*
* @param internalErrorMessage
* the message
*/
public void setInternalErrorMessage(String internalErrorMessage) {
this.internalErrorMessage = internalErrorMessage;
}
/**
* Sets the URL to redirect to when the browser has cookies disabled.
*
* @param cookiesDisabledURL
* the URL to redirect to, or null to reload the current URL
*/
public void setCookiesDisabledURL(String cookiesDisabledURL) {
this.cookiesDisabledURL = cookiesDisabledURL;
}
/**
* Enables or disables the notification for "cookies disabled" messages. If
* disabled, the URL returned by {@link #getCookiesDisabledURL()} is loaded
* directly.
*
* @param cookiesDisabledNotificationEnabled
* true to enable "cookies disabled" messages, false otherwise
*/
public void setCookiesDisabledNotificationEnabled(
boolean cookiesDisabledNotificationEnabled) {
this.cookiesDisabledNotificationEnabled = cookiesDisabledNotificationEnabled;
}
/**
* Sets the caption of the "cookies disabled" notification. Set to null for
* no caption. If both caption and message is null, the notification is
* disabled.
*
* @param cookiesDisabledCaption
* the caption for the "cookies disabled" notification
*/
public void setCookiesDisabledCaption(String cookiesDisabledCaption) {
this.cookiesDisabledCaption = cookiesDisabledCaption;
}
/**
* Sets the message of the "cookies disabled" notification. Set to null for
* no message. If both caption and message is null, the notification is
* disabled.
*
* @param cookiesDisabledMessage
* the message for the "cookies disabled" notification
*/
public void setCookiesDisabledMessage(String cookiesDisabledMessage) {
this.cookiesDisabledMessage = cookiesDisabledMessage;
}
}