InputException.java revision 560:dca8c03d693d
1/*
2 * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25package build.tools.logutil;
26
27import java.util.LinkedList;
28import java.util.Queue;
29
30public class InputException {
31
32  /**
33   * The name of this exception.
34   */
35  private final String name;
36
37  /**
38   * The codes associated with this exception.
39   */
40  private final Queue<InputCode> codes;
41
42  /**
43   * Constructs a new {@link InputException} with the
44   * specified name.
45   *
46   * @param name the name of the new exception;
47   */
48  public InputException(final String name) {
49    this.name = name;
50    codes = new LinkedList<InputCode>();
51  }
52
53  /**
54   * Adds a new code to this exception.
55   *
56   * @param c the code to add.
57   */
58  public void add(InputCode c)
59  {
60    codes.offer(c);
61  }
62
63  /**
64   * Returns the name of this exception.
65   *
66   * @return the exception's name.
67   */
68  public String getName() {
69    return name;
70  }
71
72  /**
73   * Returns the codes associated with this exception.
74   *
75   * @return the exception's codes.
76   */
77  public Queue<InputCode> getCodes() {
78    return codes;
79  }
80
81  /**
82   * Returns a textual representation of this exception.
83   *
84   * @return a textual representation.
85   */
86  public String toString() {
87    return getClass().getName()
88      + "[name=" + name
89      + ",codes=" + codes
90      + "]";
91  }
92
93}
94