org.vaadin.viritin.ui.MNotification.java Source code

Java tutorial

Introduction

Here is the source code for org.vaadin.viritin.ui.MNotification.java

Source

/*
 * Copyright 2016 Matti Tahvonen.
 *
 * 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 org.vaadin.viritin.ui;

import com.vaadin.server.Page;
import com.vaadin.server.Resource;
import com.vaadin.shared.Position;
import com.vaadin.ui.Notification;

/**
 * A {@link Notification} with fluent setters.
 *
 * @author Max Schuster
 * @see Notification
 */
public class MNotification extends Notification {

    /**
     * See: {@link Notification#Notification(java.lang.String)}
     *
     * @param caption The message to show
     * @see Notification#Notification(java.lang.String)
     */
    public MNotification(String caption) {
        super(caption);
    }

    /**
     * See:
     * {@link Notification#Notification(java.lang.String, com.vaadin.ui.Notification.Type)}
     *
     * @param caption The message to show
     * @param type The type of message
     * @see Notification#Notification(java.lang.String,
     * com.vaadin.ui.Notification.Type)
     */
    public MNotification(String caption, Type type) {
        super(caption, type);
    }

    /**
     * See:
     * {@link Notification#Notification(java.lang.String, java.lang.String)}
     *
     * @param caption The message caption
     * @param description The message description
     * @see Notification#Notification(java.lang.String, java.lang.String)
     */
    public MNotification(String caption, String description) {
        super(caption, description);
    }

    /**
     * See:
     * {@link Notification#Notification(java.lang.String, java.lang.String, com.vaadin.ui.Notification.Type)}
     *
     * @param caption The message caption
     * @param description The message description
     * @param type The type of message
     * @see Notification#Notification(java.lang.String, java.lang.String,
     * com.vaadin.ui.Notification.Type)
     */
    public MNotification(String caption, String description, Type type) {
        super(caption, description, type);
    }

    /**
     * See:
     * {@link Notification#Notification(java.lang.String, java.lang.String, com.vaadin.ui.Notification.Type, boolean)}
     *
     * @param caption The message caption
     * @param description The message description
     * @param type The type of message
     * @param htmlContentAllowed Whether html in the caption and description
     * should be displayed as html or as plain text
     * @see Notification#Notification(java.lang.String, java.lang.String,
     * com.vaadin.ui.Notification.Type, boolean)
     */
    public MNotification(String caption, String description, Type type, boolean htmlContentAllowed) {
        super(caption, description, type, htmlContentAllowed);
    }

    /**
     * See: {@link #setHtmlContentAllowed(boolean)}
     *
     * @param htmlContentAllowed true if the texts are used as html, false if
     * used as plain text
     * @return this (for method chaining)
     * @see #setHtmlContentAllowed(boolean)
     */
    public MNotification withHtmlContentAllowed(boolean htmlContentAllowed) {
        setHtmlContentAllowed(htmlContentAllowed);
        return this;
    }

    /**
     * See: {@link #setStyleName(java.lang.String)}
     *
     * @param styleName The new style name.
     * @return this (for method chaining)
     * @see #setStyleName(java.lang.String)
     */
    public MNotification withStyleName(String styleName) {
        setStyleName(styleName);
        return this;
    }

    /**
     * See: {@link #setDelayMsec(int)}
     *
     * @param delayMsec the delay in msec, -1 to require the user to click the
     * message
     * @return this (for method chaining)
     * @see #setDelayMsec(int)
     */
    public MNotification withDelayMsec(int delayMsec) {
        setDelayMsec(delayMsec);
        return this;
    }

    /**
     * See: {@link #setIcon(com.vaadin.server.Resource)}
     *
     * @param icon The desired message icon
     * @return this (for method chaining)
     * @see #setIcon(com.vaadin.server.Resource)
     */
    public MNotification withIcon(Resource icon) {
        setIcon(icon);
        return this;
    }

    /**
     * See: {@link #setPosition(com.vaadin.shared.Position)}
     *
     * @param position The desired notification position
     * @return this (for method chaining)
     * @see #setPosition(com.vaadin.shared.Position)
     */
    public MNotification withPosition(Position position) {
        setPosition(position);
        return this;
    }

    /**
     * See: {@link #setDescription(java.lang.String)}
     *
     * @param description The message description
     * @return this (for method chaining)
     * @see #setDescription(java.lang.String)
     */
    public MNotification withDescription(String description) {
        setDescription(description);
        return this;
    }

    /**
     * See: {@link #setCaption(java.lang.String)}
     *
     * @param caption The message caption
     * @return this (for method chaining)
     * @see #setCaption(java.lang.String)
     */
    public MNotification withCaption(String caption) {
        setCaption(caption);
        return this;
    }

    /**
     * Shows this notification on the given page {@link Page}.
     *
     * @param page The page on which the notification should be shown.
     * @return this (for method chaining)
     * @see #show(com.vaadin.server.Page)
     */
    public MNotification display(Page page) {
        show(page);
        return this;
    }

    /**
     * Shows this notification on the current {@link Page}
     * ({@link Page#getCurrent()}).
     *
     * @return this (for method chaining)
     * @see #show(com.vaadin.server.Page)
     * @see Page#getCurrent()
     */
    public MNotification display() {
        return display(Page.getCurrent());
    }

    /**
     * Creates a new notification with the given caption and shows it on the
     * current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     * @see #MNotification(java.lang.String)
     * @see #display()
     */
    public static MNotification display(String caption) {
        return new MNotification(caption).display();
    }

    /**
     * Creates a new notification with the given caption and type and shows it
     * on the current page.
     *
     * @param caption The message caption
     * @param type the type of the notification to be shown
     * @return The notification (for method chaining)
     */
    public static MNotification display(String caption, Type type) {
        return new MNotification(caption, type).display();
    }

    /**
     * Creates a new notification with the given caption and type and shows it
     * on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @param type the type of the notification to be shown
     * @return The notification (for method chaining)
     */
    public static MNotification display(String caption, String description, Type type) {
        return new MNotification(caption, description, type).display();
    }

    /**
     * Creates a {@link Type#HUMANIZED_MESSAGE} notification with the given
     * caption and shows it on the current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     */
    public static MNotification humanized(String caption) {
        return display(caption, Type.HUMANIZED_MESSAGE);
    }

    /**
     * Creates a {@link Type#HUMANIZED_MESSAGE} notification with the given
     * caption and description and shows it on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @return The notification (for method chaining)
     */
    public static MNotification humanized(String caption, String description) {
        return display(caption, description, Type.HUMANIZED_MESSAGE);
    }

    /**
     * Creates a {@link Type#WARNING_MESSAGE} notification with the given
     * caption and shows it on the current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     */
    public static MNotification warning(String caption) {
        return display(caption, Type.WARNING_MESSAGE);
    }

    /**
     * Creates a {@link Type#WARNING_MESSAGE} notification with the given
     * caption and description and shows it on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @return The notification (for method chaining)
     */
    public static MNotification warning(String caption, String description) {
        return display(caption, description, Type.WARNING_MESSAGE);
    }

    /**
     * Creates a {@link Type#ERROR_MESSAGE} notification with the given caption
     * and shows it on the current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     */
    public static MNotification error(String caption) {
        return display(caption, Type.ERROR_MESSAGE);
    }

    /**
     * Creates a {@link Type#ERROR_MESSAGE} notification with the given caption
     * and description and shows it on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @return The notification (for method chaining)
     */
    public static MNotification error(String caption, String description) {
        return display(caption, description, Type.ERROR_MESSAGE);
    }

    /**
     * Creates a {@link Type#TRAY_NOTIFICATION} notification with the given
     * caption and shows it on the current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     */
    public static MNotification tray(String caption) {
        return display(caption, Type.TRAY_NOTIFICATION);
    }

    /**
     * Creates a {@link Type#TRAY_NOTIFICATION} notification with the given
     * caption and description and shows it on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @return The notification (for method chaining)
     */
    public static MNotification tray(String caption, String description) {
        return display(caption, description, Type.TRAY_NOTIFICATION);
    }

    /**
     * Creates a {@link Type#ASSISTIVE_NOTIFICATION} notification with the given
     * caption and shows it on the current page.
     *
     * @param caption The message caption
     * @return The notification (for method chaining)
     */
    public static MNotification assistive(String caption) {
        return display(caption, Type.ASSISTIVE_NOTIFICATION);
    }

    /**
     * Creates a {@link Type#ASSISTIVE_NOTIFICATION} notification with the given
     * caption and description and shows it on the current page.
     *
     * @param caption The message caption
     * @param description The message description
     * @return The notification (for method chaining)
     */
    public static MNotification assistive(String caption, String description) {
        return display(caption, description, Type.ASSISTIVE_NOTIFICATION);
    }

}