/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.api.notification; import org.eclipse.che.api.workspace.shared.dto.ProjectConfigDto; import org.eclipse.che.ide.api.notification.StatusNotification.Status; import org.eclipse.che.ide.api.parts.PartPresenter; import static org.eclipse.che.ide.api.notification.StatusNotification.DisplayMode; /** * The manager for notifications. Used to show notifications and change their states. * * @author Andrey Plotnikov * @author Vlad Zhukovskii */ public interface NotificationManager extends PartPresenter { /** * Show notification. * * @param notification * notification * @param <T> * return type of the notification * @return notification object */ <T extends Notification> T notify(T notification); /** * Show notification. * * @param title * title * @return notification object */ Notification notify(String title); /** * Show notification. * * @param title * title * @param content * content * @return notification object */ Notification notify(String title, String content); /** * Show notification. * * @param title * title * @param listener * notification event listener * @return notification object */ Notification notify(String title, NotificationListener listener); /** * Show notification. * * @param title * title * @param status * notification status * @param displayMode * mode of displaying of the notification * @return notification object */ StatusNotification notify(String title, Status status, DisplayMode displayMode); /** * Show notification. * * @param title * title * @param content * content * @param listener * notification event listener * @return notification object */ Notification notify(String title, String content, NotificationListener listener); /** * Show status notification. * * @param title * title * @param content * content * @param status * notification status * @param displayMode * mode of displaying of the notification * @return notification object */ StatusNotification notify(String title, String content, Status status, DisplayMode displayMode); /** * Show status notification. * * @param title * title * @param content * content * @param status * notification status * @param displayMode * mode of displaying of the notification * @param listener * notification event listener * @return notification object */ StatusNotification notify(String title, String content, Status status, DisplayMode displayMode, NotificationListener listener); /** * Show status notification. * * @param title * title * @param status * notification status * @param displayMode * mode of displaying of the notification * @param listener * notification event listener * @return notification object */ StatusNotification notify(String title, Status status, DisplayMode displayMode, NotificationListener listener); /** * Show notification. * * @param title * title * @param content * content * @param project * provide project information to which notification belongs * @return notification object */ Notification notify(String title, String content, ProjectConfigDto project); /** * Show notification. * * @param title * title * @param project * provide project information to which notification belongs * @return notification object */ Notification notify(String title, ProjectConfigDto project); /** * Show notification. * * @param title * title * @param content * content * @param listener * notification event listener * @param project * provide project information to which notification belongs * @return notification object */ Notification notify(String title, String content, NotificationListener listener, ProjectConfigDto project); /** * Show notification. * * @param title * title * @param listener * notification event listener * @param project * provide project information to which notification belongs * @return notification object */ Notification notify(String title, NotificationListener listener, ProjectConfigDto project); /** * Show status notification. * * @param title * title * @param content * content * @param status * notification status * @param displayMode * mode of displaying of the notification * @param project * provide project information to which notification belongs * @return notification object */ StatusNotification notify(String title, String content, Status status, DisplayMode displayMode, ProjectConfigDto project); /** * Show status notification. * * @param title * title * @param status * notification status * @param displayMode * mode of displaying of the notification * @param project * provide project information to which notification belongs * @return notification object */ StatusNotification notify(String title, Status status, DisplayMode displayMode, ProjectConfigDto project); /** * Show status notification. * * @param title * title * @param content * content * @param status * notification status * @param displayMode * mode of displaying of the notification * @param listener * notification event listener * @param project * provide project information to which notification belongs * @return notification object */ StatusNotification notify(String title, String content, Status status, DisplayMode displayMode, NotificationListener listener, ProjectConfigDto project); /** * Show status notification. * * @param title * title * @param status * notification status * @param displayMode * mode of displaying of the notification * @param listener * notification event listener * @param project * provide project information to which notification belongs * @return notification object */ StatusNotification notify(String title, Status status, DisplayMode displayMode, NotificationListener listener, ProjectConfigDto project); }