View Javadoc

1   /*
2   Karma core - Core of the Karma application
3   Copyright (C) 2004  Toolforge <www.toolforge.nl>
4   
5   This library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9   
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  Lesser General Public License for more details.
14  
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  */
19  package nl.toolforge.karma.core.cmd.event;
20  
21  import nl.toolforge.karma.core.cmd.Command;
22  
23  /***
24   * Generated when an exception is thrown during command execution that should be sent to listeners.
25   *
26   * @author D.A. Smedes
27   * @version $Id: ExceptionEvent.java,v 1.3 2004/11/02 23:57:06 asmedes Exp $
28   */
29  public class ExceptionEvent extends CommandResponseEvent {
30  
31    private Throwable exception = null;
32  
33    /***
34     * Creates the event for <code>command</code>.
35     *
36     * @param command The command that has started.
37     */
38    public ExceptionEvent(Command command, Throwable exception) {
39      super(command);
40      this.exception = exception;
41    }
42  
43    /***
44     * Returns a SimpleMessage formatted as <code>[ &lt;command-name&gt; ] Started.</code>.
45     */
46    public Message getEventMessage() {
47      return new SimpleMessage(MessageHelper.format(getCommand().getName(), exception.getMessage()));
48    }
49  
50    /***
51     * The exception that generated this event.
52     *
53     * @return The exception (as a <code>Throwable</code>) that caused this event to occur.
54     */
55    public Throwable getCause() {
56      return exception;
57    }
58  }