View Javadoc

1   // Copyright (C) 2000 - 2008 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.console.common;
23  
24  
25  /**
26   * Interface for things that can deal with reporting errors and
27   * exceptions.
28   *
29   * @author Philip Aston
30   */
31  public interface ErrorHandler {
32  
33    /**
34     * Method that handles error messages.
35     *
36     * @param errorMessage The error message.
37     * @see #handleErrorMessage(String, String)
38     * @see #handleInformationMessage(String)
39     */
40    void handleErrorMessage(String errorMessage);
41  
42    /**
43     * Method that handles error messages.
44     *
45     * @param errorMessage The error message.
46     * @param title A title to use.
47     * @see #handleErrorMessage(String)
48     */
49    void handleErrorMessage(String errorMessage, String title);
50  
51    /**
52     * Method that handles exceptions.
53     *
54     * @param throwable The exception.
55     */
56    void handleException(Throwable throwable);
57  
58    /**
59     * Method that handles exceptions.
60     *
61     * @param throwable The exception.
62     * @param title A title to use.
63     */
64    void handleException(Throwable throwable, String title);
65  
66    /**
67     * Method that handles information messages. Information messages are lower
68     * priority than error messages. In general, error messages should interrupt
69     * the user (e.g. use a modal dialog), but information messages should just be
70     * logged.
71     *
72     * @param informationMessage
73     *            The information message.
74     * @see #handleErrorMessage(String)
75     */
76    void handleInformationMessage(String informationMessage);
77  }