View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.core.status;
15  
16  import java.util.List;
17  
18  /**
19   * Internal error messages (statii) are managed by instances of this interface.
20   * 
21   * @author Ceki Gülcü
22   */
23  public interface StatusManager {
24  
25      /**
26       * Add a new status message.
27       * 
28       * @param status
29       */
30      void add(Status status);
31  
32      /**
33       * Obtain a copy of the status list maintained by this StatusManager.
34       * 
35       * @return
36       */
37      List<Status> getCopyOfStatusList();
38  
39      /**
40       * Return the highest level of all the statii.
41       * 
42       * @return
43       */
44      // int getLevel();
45  
46      /**
47       * Return the number of status entries.
48       * 
49       * @return
50       */
51      int getCount();
52  
53      /**
54       * Add a status listener.
55       * 
56       * @param listener
57       */
58  
59      /**
60       * Add a status listener. The StatusManager may decide to skip installation if
61       * an earlier instance was already installed.
62       * 
63       * @param listener
64       * @return true if actually added, false if skipped
65       */
66      boolean add(StatusListener listener);
67  
68      /**
69       * ); Remove a status listener.
70       * 
71       * @param listener
72       */
73      void remove(StatusListener listener);
74  
75      /**
76       * Clear the list of status messages.
77       */
78      void clear();
79  
80      /**
81       * Obtain a copy of the status listener list maintained by this StatusManager
82       * 
83       * @return
84       */
85      List<StatusListener> getCopyOfStatusListenerList();
86  
87  }