View Javadoc
1   /*
2    * Copyright (c) 2005, 2013, 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} thrown when the SQLState class value is '<i>0A</i>'
30   * ( the value is 'zero' A).
31   * This indicates that the JDBC driver does not support an optional JDBC feature.
32   * Optional JDBC features can fall into the fallowing categories:
33   *
34   *<UL>
35   *<LI>no support for an optional feature
36   *<LI>no support for an optional overloaded method
37   *<LI>no support for an optional mode for a method.  The mode for a method is
38   *determined based on constants passed as parameter values to a method
39   *</UL>
40   *
41   * @since 1.6
42   */
43  public class SQLFeatureNotSupportedException extends SQLNonTransientException {
44  
45          /**
46           * Constructs a <code>SQLFeatureNotSupportedException</code> object.
47           *  The <code>reason</code>, <code>SQLState</code> are initialized
48           * to <code>null</code> and the vendor code is initialized to 0.
49           *
50           * The <code>cause</code> is not initialized, and may subsequently be
51           * initialized by a call to the
52           * {@link Throwable#initCause(java.lang.Throwable)} method.
53           * <p>
54           * @since 1.6
55           */
56          public SQLFeatureNotSupportedException() {
57                  super();
58          }
59  
60          /**
61           * Constructs a <code>SQLFeatureNotSupportedException</code> object
62           * with a given <code>reason</code>. The <code>SQLState</code>
63           * is initialized to <code>null</code> and the vendor code is initialized
64           * to 0.
65           *
66           * The <code>cause</code> is not initialized, and may subsequently be
67           * initialized by a call to the
68           * {@link Throwable#initCause(java.lang.Throwable)} method.
69           * <p>
70           * @param reason a description of the exception
71           * @since 1.6
72           */
73          public SQLFeatureNotSupportedException(String reason) {
74                  super(reason);
75          }
76  
77          /**
78           * Constructs a <code>SQLFeatureNotSupportedException</code> object
79           * with a given <code>reason</code> and <code>SQLState</code>.
80           *
81           * The <code>cause</code> is not initialized, and may subsequently be
82           * initialized by a call to the
83           * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code
84           * is initialized to 0.
85           * <p>
86           * @param reason a description of the exception
87           * @param SQLState an XOPEN or SQL:2003 code identifying the exception
88           * @since 1.6
89           */
90          public SQLFeatureNotSupportedException(String reason, String SQLState) {
91                  super(reason,SQLState);
92          }
93  
94          /**
95           * Constructs a <code>SQLFeatureNotSupportedException</code> object
96           *  with a given <code>reason</code>, <code>SQLState</code>  and
97           * <code>vendorCode</code>.
98           *
99           * The <code>cause</code> is not initialized, and may subsequently be
100          * initialized by a call to the
101          * {@link Throwable#initCause(java.lang.Throwable)} method.
102          * <p>
103          * @param reason a description of the exception
104          * @param SQLState an XOPEN or SQL:2003 code identifying the exception
105          * @param vendorCode a database vendor specific exception code
106          * @since 1.6
107          */
108         public SQLFeatureNotSupportedException(String reason, String SQLState, int vendorCode) {
109                 super(reason,SQLState,vendorCode);
110         }
111 
112     /**
113      * Constructs a <code>SQLFeatureNotSupportedException</code> object
114      *   with a given  <code>cause</code>.
115      * The <code>SQLState</code> is initialized
116      * to <code>null</code> and the vendor code is initialized to 0.
117      * The <code>reason</code>  is initialized to <code>null</code> if
118      * <code>cause==null</code> or to <code>cause.toString()</code> if
119      * <code>cause!=null</code>.
120      * <p>
121      * @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
122      *     the cause is non-existent or unknown.
123      * @since 1.6
124      */
125     public SQLFeatureNotSupportedException(Throwable cause) {
126         super(cause);
127     }
128 
129     /**
130      * Constructs a <code>SQLFeatureNotSupportedException</code> object
131      * with a given
132      * <code>reason</code> and  <code>cause</code>.
133      * The <code>SQLState</code> is  initialized to <code>null</code>
134      * and the vendor code is initialized to 0.
135      * <p>
136      * @param reason a description of the exception.
137      * @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
138      *     the cause is non-existent or unknown.
139      * @since 1.6
140      */
141     public SQLFeatureNotSupportedException(String reason, Throwable cause) {
142         super(reason,cause);
143     }
144 
145     /**
146      * Constructs a <code>SQLFeatureNotSupportedException</code> object
147      * with a given
148      * <code>reason</code>, <code>SQLState</code> and  <code>cause</code>.
149      * The vendor code is initialized to 0.
150      * <p>
151      * @param reason a description of the exception.
152      * @param SQLState an XOPEN or SQL:2003 code identifying the exception
153      * @param cause the (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating
154      *     the cause is non-existent or unknown.
155      * @since 1.6
156      */
157     public SQLFeatureNotSupportedException(String reason, String SQLState, Throwable cause) {
158         super(reason,SQLState,cause);
159     }
160 
161     /**
162      *  Constructs a <code>SQLFeatureNotSupportedException</code> object
163      * with a given
164      * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code>
165      * and  <code>cause</code>.
166      * <p>
167      * @param reason a description of the exception
168      * @param SQLState an XOPEN or SQL:2003 code identifying the exception
169      * @param vendorCode a database vendor-specific exception code
170      * @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
171      *     the cause is non-existent or unknown.
172      * @since 1.6
173      */
174     public SQLFeatureNotSupportedException(String reason, String SQLState, int vendorCode, Throwable cause) {
175         super(reason,SQLState,vendorCode,cause);
176     }
177 
178     private static final long serialVersionUID = -1026510870282316051L;
179 }