Package com.vaadin.ui

Class Notification

  • All Implemented Interfaces:
    Serializable

    public class Notification
    extends Object
    implements Serializable
    A notification message, used to display temporary messages to the user - for example "Document saved", or "Save failed".

    The notification message can consist of several parts: caption, description and icon. It is usually used with only caption - one should be wary of filling the notification with too much information.

    The notification message tries to be as unobtrusive as possible, while still drawing needed attention. There are several basic types of messages that can be used in different situations:

    • TYPE_HUMANIZED_MESSAGE fades away quickly as soon as the user uses the mouse or types something. It can be used to show fairly unimportant messages, such as feedback that an operation succeeded ("Document Saved") - the kind of messages the user ignores once the application is familiar.
    • TYPE_WARNING_MESSAGE is shown for a short while after the user uses the mouse or types something. It's default style is also more noticeable than the humanized message. It can be used for messages that do not contain a lot of important information, but should be noticed by the user. Despite the name, it does not have to be a warning, but can be used instead of the humanized message whenever you want to make the message a little more noticeable.
    • TYPE_ERROR_MESSAGE requires to user to click it before disappearing, and can be used for critical messages.
    • TYPE_TRAY_NOTIFICATION is shown for a while in the lower left corner of the window, and can be used for "convenience notifications" that do not have to be noticed immediately, and should not interfere with the current task - for instance to show "You have a new message in your inbox" while the user is working in some other area of the application.

    In addition to the basic pre-configured types, a Notification can also be configured to show up in a custom position, for a specified time (or until clicked), and with a custom stylename. An icon can also be added.

    See Also:
    Serialized Form
    • Constructor Detail

      • Notification

        public Notification​(String caption)
        Creates a "humanized" notification message. The caption is rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message to show
      • Notification

        public Notification​(String caption,
                            Notification.Type type)
        Creates a notification message of the specified type. The caption is rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message to show
        type - The type of message
      • Notification

        public Notification​(String caption,
                            String description)
        Creates a "humanized" notification message with a bigger caption and smaller description. The caption and description are rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message caption
        description - The message description
      • Notification

        public Notification​(String caption,
                            String description,
                            Notification.Type type)
        Creates a notification message of the specified type, with a bigger caption and smaller description. The caption and description are rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message caption
        description - The message description
        type - The type of message
      • Notification

        public Notification​(String caption,
                            String description,
                            Notification.Type type,
                            boolean htmlContentAllowed)
        Creates a notification message of the specified type, with a bigger caption and smaller description. Care should be taken to to avoid XSS vulnerabilities if html is allowed.
        Parameters:
        caption - The message caption
        description - The message description
        type - The type of message
        htmlContentAllowed - Whether html in the caption and description should be displayed as html or as plain text
    • Method Detail

      • getCaption

        public String getCaption()
        Gets the caption part of the notification message.
        Returns:
        The message caption
      • setCaption

        public void setCaption​(String caption)
        Sets the caption part of the notification message
        Parameters:
        caption - The message caption
      • getDescription

        public String getDescription()
        Gets the description part of the notification message.
        Returns:
        The message description.
      • setDescription

        public void setDescription​(String description)
        Sets the description part of the notification message.
        Parameters:
        description -
      • getPosition

        public Position getPosition()
        Gets the position of the notification message.
        Returns:
        The position
      • setPosition

        public void setPosition​(Position position)
        Sets the position of the notification message.
        Parameters:
        position - The desired notification position
      • getIcon

        public Resource getIcon()
        Gets the icon part of the notification message.
        Returns:
        The message icon
      • setIcon

        public void setIcon​(Resource icon)
        Sets the icon part of the notification message.
        Parameters:
        icon - The desired message icon
      • getDelayMsec

        public int getDelayMsec()
        Gets the delay before the notification disappears.
        Returns:
        the delay in msec, -1 indicates the message has to be clicked.
      • setDelayMsec

        public void setDelayMsec​(int delayMsec)
        Sets the delay before the notification disappears.
        Parameters:
        delayMsec - the desired delay in msec, -1 to require the user to click the message
      • setStyleName

        public void setStyleName​(String styleName)
        Sets the style name for the notification message.
        Parameters:
        styleName - The desired style name.
      • getStyleName

        public String getStyleName()
        Gets the style name for the notification message.
        Returns:
      • setHtmlContentAllowed

        public void setHtmlContentAllowed​(boolean htmlContentAllowed)
        Sets whether html is allowed in the caption and description. If set to true, the texts are passed to the browser as html and the developer is responsible for ensuring no harmful html is used. If set to false, the texts are passed to the browser as plain text.
        Parameters:
        htmlContentAllowed - true if the texts are used as html, false if used as plain text
      • isHtmlContentAllowed

        public boolean isHtmlContentAllowed()
        Checks whether caption and description are interpreted as html or plain text.
        Returns:
        true if the texts are used as html, false if used as plain text
        See Also:
        setHtmlContentAllowed(boolean)
      • show

        public void show​(Page page)
        Shows this notification on a Page.
        Parameters:
        page - The page on which the notification should be shown
      • show

        public static void show​(String caption)
        Shows a notification message on the middle of the current page. The message automatically disappears ("humanized message"). The caption is rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message
        See Also:
        Notification(String), show(Page)
      • show

        public static void show​(String caption,
                                Notification.Type type)
        Shows a notification message the current page. The position and behavior of the message depends on the type, which is one of the basic types defined in Notification, for instance Notification.TYPE_WARNING_MESSAGE. The caption is rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message
        type - The message type
        See Also:
        #Notification(String, int), show(Page)
      • show

        public static void show​(String caption,
                                String description,
                                Notification.Type type)
        Shows a notification message the current page. The position and behavior of the message depends on the type, which is one of the basic types defined in Notification, for instance Notification.TYPE_WARNING_MESSAGE. The caption is rendered as plain text with HTML automatically escaped.
        Parameters:
        caption - The message
        description - The message description
        type - The message type
        See Also:
        Notification(String, Type), show(Page)