Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/puppycrawl/tools/checkstyle/api/CheckstyleException.java


1   ////////////////////////////////////////////////////////////////////////////////
2   // checkstyle: Checks Java source code for adherence to a set of rules.
3   // Copyright (C) 2001-2003  Oliver Burn
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 com.puppycrawl.tools.checkstyle.api;
20  
21  /**
22   * Represents an error condition within Checkstyle.
23   *
24   * @author Oliver Burn
25   * @version 1.0
26   */
27  public class CheckstyleException extends Exception
28  {
29      /** the cause of this exception */
30      private Throwable mCause;
31  
32      /**
33       * Creates a new <code>CheckstyleException</code> instance.
34       *
35       * @param aMessage a <code>String</code> value
36       */
37      public CheckstyleException(String aMessage)
38      {
39          super(aMessage);
40      }
41  
42      /**
43       * Creates a new <code>CheckstyleException</code> instance
44       * that was caused by another exception.
45       *
46       * @param aMessage a message that explains this exception
47       * @param aCause the Exception that is wrapped by this exception
48       */
49      public CheckstyleException(String aMessage, Throwable aCause)
50      {
51          super(aMessage);
52          initCause(aCause);
53      }
54  
55      /**
56       * Initializes the cause of this exception.
57       * In JDK 1.4 (and later) the cause is printed as part of
58       * the exception stacktrace.
59       *
60       * @param aCause the exception that caused this
61       * CheckstyleException to be thrown
62       * @return a reference to this CheckstyleException instance
63       */
64      public synchronized Throwable initCause(Throwable aCause)
65      {
66          if (mCause != null) {
67              throw new IllegalStateException();
68          }
69          if (mCause == this) {
70              throw new IllegalArgumentException();
71          }
72  
73          mCause = aCause;
74          return this;
75      }
76  
77      /**
78       * @return the cause of this exception, might be <code>null</code>.
79       */
80      public Throwable getCause()
81      {
82          return mCause;
83      }
84  
85  }