View Javadoc

1   /* -*- mode: JDE; c-basic-offset: 2; indent-tabs-mode: nil -*-
2    *
3    * $Id: UploadException.java,v 1.3 2003/07/03 14:41:12 ljnelson Exp $
4    *
5    * Copyright (c) 2003 Laird Jarrett Nelson.
6    *
7    * Permission is hereby granted, free of charge, to any person obtaining a copy
8    * of this software and associated documentation files (the "Software"), to deal
9    * in the Software without restriction, including without limitation the rights
10   * to use, copy, modify, merge, publish, distribute, sublicense and/or sell 
11   * copies of the Software, and to permit persons to whom the Software is 
12   * furnished to do so, subject to the following conditions:
13   * 
14   * The above copyright notice and this permission notice shall be included in 
15   * all copies or substantial portions of the Software.
16   * 
17   * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
19   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
20   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
21   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23   * SOFTWARE.
24   *
25   * The original copy of this license is available at
26   * http://www.opensource.org/license/mit-license.html.
27   */
28  package sfutils.frs.web;
29  
30  import sfutils.frs.PublishingException;
31  
32  /***
33   * A {@link PublishingException} that is thrown when a multithreaded file upload
34   * operation fails.
35   *
36   * @author     <a href="mailto:ljnelson94@alumni.amherst.edu">Laird Nelson</a>
37   * @version    $Revision: 1.3 $ $Date: 2003/07/03 14:41:12 $
38   * @since      June 19, 2003
39   */
40  public class UploadException extends PublishingException {
41  
42    /***
43     * The {@link Exception}s that caused this {@link UploadException} to be
44     * created and thrown.  This field may be <code>null</code>.
45     */
46    private final Exception[] causes;
47  
48    /***
49     * Creates a new {@link UploadException}.
50     *
51     * @param      causes
52     *               the {@link Exception}s that caused this {@link
53     *               UploadException} to be created and thrown; may be
54     *               <code>null</code>
55     */
56    public UploadException(final Exception[] causes) {
57      super(causes == null ? null : causes[0]);
58      this.causes = causes;
59    }
60  
61    /***
62     * Returns the {@link Exception}s that caused this {@link UploadException} to
63     * be thrown.  This method may return <code>null</code>.
64     *
65     * @return     the {@link Exception}s that caused this {@link UploadException}
66     *               to be thrown, or <code>null</code>
67     */
68    public Exception[] getCauses() {
69      return this.causes;
70    }
71  
72  }