1 /* 2 * ------------------------------------------------------------------------------ 3 * Hermes FTP Server 4 * Copyright (c) 2005-2007 Lars Behnke 5 * ------------------------------------------------------------------------------ 6 * 7 * This file is part of Hermes FTP Server. 8 * 9 * Hermes FTP Server is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * Hermes FTP Server is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with Hermes FTP Server; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 * ------------------------------------------------------------------------------ 23 */ 24 25 package net.sf.hermesftp.exception; 26 27 import java.io.IOException; 28 29 /*** 30 * Parent exception. 31 * 32 * @author Lars Behnke 33 */ 34 public class FtpException extends IOException { 35 36 private static final long serialVersionUID = -7292242642192720520L; 37 38 /*** 39 * Constructor. 40 */ 41 public FtpException() { 42 super(); 43 } 44 45 /*** 46 * Constructor. 47 * 48 * @param message The error message. 49 */ 50 public FtpException(String message) { 51 super(message); 52 } 53 54 /*** 55 * {@inheritDoc} 56 */ 57 public String toString() { 58 String msg = getMessage() == null || getMessage().trim().length() == 0 ? "System error" 59 : getMessage(); 60 return getCategory() + ": " + msg; 61 } 62 63 /*** 64 * Returns the error specific category. Must be overwritten by subclasses. 65 * 66 * @return The error category. 67 */ 68 protected String getCategory() { 69 return "System"; 70 } 71 }