replaced <code></code> with more concise {@code}
[idea/community.git] / platform / external-system-impl / src / com / intellij / openapi / externalSystem / service / notification / ExternalSystemProgressNotificationManager.java
1 package com.intellij.openapi.externalSystem.service.notification;
2
3 import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener;
4 import org.jetbrains.annotations.NotNull;
5 import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId;
6
7 /**
8  * @author Denis Zhdanov
9  * @since 11/10/11 12:04 PM
10  */
11 public interface ExternalSystemProgressNotificationManager {
12
13   /**
14    * Allows to register given listener to listen events from all tasks.
15    * 
16    * @param listener  listener to register
17    * @return          {@code true} if given listener was not registered before for the given key;
18    *                  {@code false} otherwise
19    */
20   boolean addNotificationListener(@NotNull ExternalSystemTaskNotificationListener listener);
21   
22   /**
23    * Allows to register given listener within the current manager for listening events from the task with the target id. 
24    * 
25    * @param taskId    target task's id
26    * @param listener  listener to register
27    * @return          {@code true} if given listener was not registered before for the given key;
28    *                  {@code false} otherwise
29    */
30   boolean addNotificationListener(@NotNull ExternalSystemTaskId taskId, @NotNull ExternalSystemTaskNotificationListener listener);
31
32   /**
33    * Allows to de-register given listener from the current manager
34    *
35    * @param listener  listener to de-register
36    * @return          {@code true} if given listener was successfully de-registered;
37    *                  {@code false} if given listener was not registered before
38    */
39   boolean removeNotificationListener(@NotNull ExternalSystemTaskNotificationListener listener);
40 }