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 }