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 }