Home | History | Annotate | Download | only in sql
      1 /*
      2  * Copyright (c) 2005, 2006, 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  */
     25 
     26 package java.sql;
     27 
     28 /**
     29  * The subclass of {@link SQLException} is thrown in situations where a
     30  * previoulsy failed operation might be able to succeed when the operation is
     31  * retried without any intervention by application-level functionality.
     32  *<p>
     33  *
     34  * @since 1.6
     35  */
     36 public class SQLTransientException extends java.sql.SQLException {
     37 
     38         /**
     39          * Constructs a <code>SQLTransientException</code> object.
     40          * The <code>reason</code>, <code>SQLState</code> are initialized
     41          * to <code>null</code> and the vendor code is initialized to 0.
     42          *
     43          * The <code>cause</code> is not initialized, and may subsequently be
     44          * initialized by a call to the
     45          * {@link Throwable#initCause(java.lang.Throwable)} method.
     46          * <p>
     47          * @since 1.6
     48         */
     49         public SQLTransientException() {
     50                 super();
     51         }
     52 
     53         /**
     54          * Constructs a <code>SQLTransientException</code> object
     55          *  with a given <code>reason</code>. The <code>SQLState</code>
     56          * is initialized to <code>null</code> and the vender code is initialized
     57          * to 0.
     58          *
     59          * The <code>cause</code> is not initialized, and may subsequently be
     60          * initialized by a call to the
     61          * {@link Throwable#initCause(java.lang.Throwable)} method.
     62          * <p>
     63          * @param reason a description of the exception
     64          * @since 1.6
     65          */
     66         public SQLTransientException(String reason) {
     67                 super(reason);
     68         }
     69 
     70         /**
     71          * Constructs a <code>SQLTransientException</code> object
     72          * with a given <code>reason</code> and <code>SQLState</code>.
     73          *
     74          * The <code>cause</code> is not initialized, and may subsequently be
     75          * initialized by a call to the
     76          * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code
     77          * is initialized to 0.
     78          * <p>
     79          * @param reason a description of the exception
     80          * @param SQLState an XOPEN or SQL:2003 code identifying the exception
     81          * @since 1.6
     82          */
     83         public SQLTransientException(String reason, String SQLState) {
     84                 super(reason,SQLState);
     85         }
     86 
     87         /**
     88          * Constructs a <code>SQLTransientException</code> object
     89          *  with a given <code>reason</code>, <code>SQLState</code>  and
     90          * <code>vendorCode</code>.
     91          *
     92          * The <code>cause</code> is not initialized, and may subsequently be
     93          * initialized by a call to the
     94          * {@link Throwable#initCause(java.lang.Throwable)} method.
     95          * <p>
     96          * @param reason a description of the exception
     97          * @param SQLState an XOPEN or SQL:2003 code identifying the exception
     98          * @param vendorCode a database vendor specific exception code
     99          * @since 1.6
    100          */
    101         public SQLTransientException(String reason, String SQLState, int vendorCode) {
    102                 super(reason,SQLState,vendorCode);
    103         }
    104 
    105     /**
    106      * Constructs a <code>SQLTransientException</code> object
    107      * with a given  <code>cause</code>.
    108      * The <code>SQLState</code> is initialized
    109      * to <code>null</code> and the vendor code is initialized to 0.
    110      * The <code>reason</code>  is initialized to <code>null</code> if
    111      * <code>cause==null</code> or to <code>cause.toString()</code> if
    112      * <code>cause!=null</code>.
    113      * <p>
    114      * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating
    115      *     the cause is non-existent or unknown.
    116      * @since 1.6
    117      */
    118     public SQLTransientException(Throwable cause) {
    119         super(cause);
    120     }
    121 
    122     /**
    123      * Constructs a <code>SQLTransientException</code> object
    124      * with a given
    125      * <code>reason</code> and  <code>cause</code>.
    126      * The <code>SQLState</code> is  initialized to <code>null</code>
    127      * and the vendor code is initialized to 0.
    128      * <p>
    129      * @param reason a description of the exception.
    130      * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating
    131      *     the cause is non-existent or unknown.
    132      * @since 1.6
    133      */
    134     public SQLTransientException(String reason, Throwable cause) {
    135         super(reason,cause);
    136     }
    137 
    138     /**
    139      * Constructs a <code>SQLTransientException</code> object
    140      * with a given
    141      * <code>reason</code>, <code>SQLState</code> and  <code>cause</code>.
    142      * The vendor code is initialized to 0.
    143      * <p>
    144      * @param reason a description of the exception.
    145      * @param SQLState an XOPEN or SQL:2003 code identifying the exception
    146      * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating
    147      *     the cause is non-existent or unknown.
    148      * @since 1.6
    149      */
    150     public SQLTransientException(String reason, String SQLState, Throwable cause) {
    151         super(reason,SQLState,cause);
    152     }
    153 
    154     /**
    155      *  Constructs a <code>SQLTransientException</code> object
    156      * with a given
    157      * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code>
    158      * and  <code>cause</code>.
    159      * <p>
    160      * @param reason a description of the exception
    161      * @param SQLState an XOPEN or SQL:2003 code identifying the exception
    162      * @param vendorCode a database vendor-specific exception code
    163      * @param cause the underlying reason for this <code>SQLException</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating
    164      *     the cause is non-existent or unknown.
    165      * @since 1.6
    166      */
    167     public SQLTransientException(String reason, String SQLState, int vendorCode, Throwable cause) {
    168         super(reason,SQLState,vendorCode,cause);
    169     }
    170 
    171     private static final long serialVersionUID = -9042733978262274539L;
    172 }
    173