diff options
| author | Eric Blake <ebb9@byu.net> | 2002-02-24 04:25:15 +0000 |
|---|---|---|
| committer | Eric Blake <ebb9@byu.net> | 2002-02-24 04:25:15 +0000 |
| commit | a3f60f71365174676e1302f0b201f5772849ffd3 (patch) | |
| tree | 493dd1be8064241b1d269916046f7c1f1247b603 /java/sql | |
| parent | 70f6e1ec80b4ffc5370564b2710ee194054da42f (diff) | |
| download | classpath-a3f60f71365174676e1302f0b201f5772849ffd3.tar.gz | |
2002-02-23 Eric Blake <ebb9@email.byu.edu>
* java/awt/AWTError.java: Update to 1.4.
* java/awt/AWTException.java: Ditto.
* java/awt/IllegalComponentStateException.java: Ditto.
* java/awt/datatransfer/MimeTypeParseException.java: Ditto.
* java/awt/datatransfer/UnsupportedFlavorException.java: Ditto.
* java/awt/geom/IllegalPathStateException.java: Ditto.
* java/awt/geom/NoninvertibleTransformException.java: Ditto.
* java/awt/print/PrinterAbortException.java: Ditto.
* java/awt/print/PrinterException.java: Ditto.
* java/awt/print/PrinterIOException.java: Ditto.
* java/beans/IntrospectionException.java: Ditto.
* java/beans/PropertyVetoException.java: Ditto.
* java/io/CharConversionException.java: Ditto.
* java/io/EOFException.java: Ditto.
* java/io/FileNotFoundException.java: Ditto.
* java/io/InterruptedIOException.java: Ditto.
* java/io/InvalidClassException.java: Ditto.
* java/io/InvalidObjectException.java: Ditto.
* java/io/IOException.java: Ditto.
* java/io/NotActiveException.java: Ditto.
* java/io/NotSerializableException.java: Ditto.
* java/io/ObjectStreamException.java: Ditto.
* java/io/OptionalDataException.java: Ditto.
* java/io/StreamCorruptedException.java: Ditto.
* java/io/SyncFailedException.java: Ditto.
* java/io/UnsupportedEncodingException.java: Ditto.
* java/io/UTFDataFormatException.java: Ditto.
* java/io/WriteAbortedException.java: Ditto.
* java/lang/AbstractMethodError.java: Ditto.
* java/lang/ArithmeticException.java: Ditto.
* java/lang/ArrayIndexOutOfBoundsException.java: Ditto.
* java/lang/ArrayStoreException.java: Ditto.
* java/lang/AssertionError.java: Ditto.
* java/lang/ClassCastException.java: Ditto.
* java/lang/ClassCircularityError.java: Ditto.
* java/lang/ClassFormatError.java: Ditto.
* java/lang/ClassNotFoundException.java: Ditto.
* java/lang/CloneNotSupportedException.java: Ditto.
* java/lang/Exception.java: Ditto.
* java/lang/ExceptionInInitializerError.java: Ditto.
* java/lang/IllegalAccessError.java: Ditto.
* java/lang/IllegalAccessException.java: Ditto.
* java/lang/IllegalArgumentException.java: Ditto.
* java/lang/IllegalMonitorStateException.java: Ditto.
* java/lang/IllegalStateException.java: Ditto.
* java/lang/IllegalThreadStateException.java: Ditto.
* java/lang/IncompatibleClassChangeError.java: Ditto.
* java/lang/IndexOutOfBoundsException.java: Ditto.
* java/lang/InstantiationError.java: Ditto.
* java/lang/InstantiationException.java: Ditto.
* java/lang/InternalError.java: Ditto.
* java/lang/InterruptedException.java: Ditto.
* java/lang/LinkageError.java: Ditto.
* java/lang/NegativeArraySizeException.java: Ditto.
* java/lang/NoClassDefFoundError.java: Ditto.
* java/lang/NoSuchFieldError.java: Ditto.
* java/lang/NoSuchFieldException.java: Ditto.
* java/lang/NoSuchMethodError.java: Ditto.
* java/lang/NoSuchMethodException.java: Ditto.
* java/lang/NullPointerException.java: Ditto.
* java/lang/NumberFormatException.java: Ditto.
* java/lang/OutOfMemoryError.java: Ditto.
* java/lang/RuntimeException.java: Ditto.
* java/lang/SecurityException.java: Ditto.
* java/lang/StackOverflowError.java: Ditto.
* java/lang/StringIndexOutOfBoundsException.java: Ditto.
* java/lang/ThreadDeath.java: Ditto.
* java/lang/UnknownError.java: Ditto.
* java/lang/UnsatisfiedLinkError.java: Ditto.
* java/lang/UnsupportedClassVersionError.java: Ditto.
* java/lang/UnsupportedOperationException.java: Ditto.
* java/lang/VerifyError.java: Ditto.
* java/lang/VirtualMachineError.java: Ditto.
* java/lang/Void.java: Ditto.
* java/lang/reflect/InvocationTargetException.java: Ditto.
* java/lang/reflect/UndeclaredThrowableException.java: Ditto.
* java/net/BindException.java: Ditto.
* java/net/ConnectException.java: Ditto.
* java/net/MalformedURLException.java: Ditto.
* java/net/NoRouteToHostException.java: Ditto.
* java/net/ProtocolException.java: Ditto.
* java/net/SocketException.java: Ditto.
* java/net/UnknownHostException.java: Ditto.
* java/net/UnknownServiceException.java: Ditto.
* java/rmi/AccessException.java: Ditto.
* java/rmi/AlreadyBoundException.java: Ditto.
* java/rmi/ConnectException.java: Ditto.
* java/rmi/ConnectIOException.java: Ditto.
* java/rmi/MarshalException.java: Ditto.
* java/rmi/NoSuchObjectException.java: Ditto.
* java/rmi/NotBoundException.java: Ditto.
* java/rmi/RemoteException.java: Ditto.
* java/rmi/RMISecurityException.java: Ditto.
* java/rmi/ServerException.java: Ditto.
* java/rmi/ServerRuntimeException.java: Ditto.
* java/rmi/StubNotFoundException.java: Ditto.
* java/rmi/UnexpectedException.java: Ditto.
* java/rmi/UnknownHostException.java: Ditto.
* java/rmi/UnmarshalException.java: Ditto.
* java/rmi/activation/ActivateFailedException.java: Ditto.
* java/rmi/activation/ActivationException.java: Ditto.
* java/rmi/activation/UnknownGroupException.java: Ditto.
* java/rmi/activation/UnknownObjectException.java: Ditto.
* java/rmi/server/ExportException.java: Ditto.
* java/rmi/server/ServerCloneException.java: Ditto.
* java/rmi/server/ServerNotActiveException.java: Ditto.
* java/rmi/server/SkeletonMismatchException.java: Ditto.
* java/rmi/server/SkeletonNotFoundException.java: Ditto.
* java/rmi/server/SocketSecurityException.java: Ditto.
* java/security/AccessControlException.java: Ditto.
* java/security/DigestException.java: Ditto.
* java/security/GeneralSecurityException.java: Ditto.
* java/security/InvalidAlgorithmParameterException.java: Ditto.
* java/security/InvalidKeyException.java: Ditto.
* java/security/InvalidParameterException.java: Ditto.
* java/security/KeyException.java: Ditto.
* java/security/KeyManagementException.java: Ditto.
* java/security/KeyStoreException.java: Ditto.
* java/security/NoSuchAlgorithmException.java: Ditto.
* java/security/NoSuchProviderException.java: Ditto.
* java/security/PrivilegedActionException.java: Ditto.
* java/security/ProviderException.java: Ditto.
* java/security/SignatureException.java: Ditto.
* java/security/UnrecoverableKeyException.java: Ditto.
* java/security/acl/AclNotFoundException.java: Ditto.
* java/security/acl/LastOwnerException.java: Ditto.
* java/security/acl/NotOwnerException.java: Ditto.
* java/security/cert/CertificateEncodingException.java: Ditto.
* java/security/cert/CertificateException.java: Ditto.
* java/security/cert/CertificateExpiredException.java: Ditto.
* java/security/cert/CertificateNotYetValidException.java: Ditto.
* java/security/cert/CertificateParsingException.java: Ditto.
* java/security/cert/CRLException.java: Ditto.
* java/security/spec/InvalidKeySpecException.java: Ditto.
* java/security/spec/InvalidParameterSpecException.java: Ditto.
* java/sql/BatchUpdateException.java: Ditto.
* java/sql/DataTruncation.java: Ditto.
* java/sql/SQLException.java: Ditto.
* java/sql/SQLWarning.java: Ditto.
* java/text/ParseException.java: Ditto.
* java/util/MissingResourceException.java: Ditto.
* java/util/jar/JarException.java: Ditto.
* java/util/prefs/BackingStoreException.java: Ditto.
* java/util/prefs/InvalidPreferencesFormatException.java: Ditto.
* java/util/zip/DataFormatException.java: Ditto.
* java/util/zip/ZipException.java: Ditto.
* java/awt/Makefile.am (EXTRA_DIST): Add FontFormatException.java
and HeadlessException.java.
* java/awt/FontFormatException.java: New file.
* java/awt/HeadlessException.java: New file.
* java/awt/color/Makefile.am (EXTRA_DIST): Add CMMException.java
and ProfileDataException.java.
* java/awt/color/CMMException.java: New file.
* java/awt/color/ProfileDataException.java: New file.
* java/awt/image/Makefile.am (EXTRA_DIST): Add
ImagingOpException.java and RasterFormatException.java.
* java/awt/image/ImagingOpException.java: New file.
* java/awt/image/RasterFormatException.java: New file.
* java/net/Makefile.am (EXTRA_DIST): Add
PortUnreachableException.java, SocketTimeoutException.java and
URISyntaxException.java.
* java/net/PortUnreachableException.java: New file.
* java/net/SocketTimeoutException.java: New file.
* java/net/URISyntaxException.java: New file.
* java/security/cert/Makefile.am (EXTRA_DIST): Add
CertPathBuilderException.java, CertPathValidatorException.java,
and CertStoreException.java.
* java/security/cert/CertPathBuilderException.java: New file.
* java/security/cert/CertPathValidatorException.java: New file.
* java/security/cert/CertStoreException.java: New file.
* vm/reference/java/lang/Throwable.java (toString): Use
getLocalizedMessage().
* ChangeLog: Fix spelling error.
Diffstat (limited to 'java/sql')
| -rw-r--r-- | java/sql/BatchUpdateException.java | 245 | ||||
| -rw-r--r-- | java/sql/DataTruncation.java | 288 | ||||
| -rw-r--r-- | java/sql/SQLException.java | 314 | ||||
| -rw-r--r-- | java/sql/SQLWarning.java | 208 |
4 files changed, 454 insertions, 601 deletions
diff --git a/java/sql/BatchUpdateException.java b/java/sql/BatchUpdateException.java index 04478ee4b..ead198e99 100644 --- a/java/sql/BatchUpdateException.java +++ b/java/sql/BatchUpdateException.java @@ -1,5 +1,5 @@ -/* BatchUpdateException.java -- Exception for batch oriented SQL errors - Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* BatchUpdateException.java -- exception for batch oriented SQL errors + Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,142 +39,109 @@ exception statement from your version. */ package java.sql; /** - * This class extends <code>SQLException</code> to count the successful - * updates in each statement in a batch that was successfully updated prior - * to the error. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ -public class BatchUpdateException extends SQLException -{ - -/*************************************************************************/ - -/* - * Instance Variables - */ - -/** - * This is the array of update counts for the commands which completed - * successfully prior to the error. - * @serialized - */ -private int[] updateCounts; - -/*************************************************************************/ - -/* - * Constructors - */ - -/** - * This method initializes a new instance of <code>BatchUpdateException</code> - * with no descriptive error message. The SQL state and update count will - * be initialized to <code>null</code> and the vendor specific error code will - * initialized to 0. - */ -public -BatchUpdateException() -{ - super(); -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>BatchUpdateException</code> - * with the specified update count information and no descriptive error - * message. This SQL state will be initialized to <code>null</code> and - * the vendor specific error code will be initialized to 0. - * - * @param updateCounts The update count array. - */ -public -BatchUpdateException(int[] updateCounts) -{ - super(); - - this.updateCounts = updateCounts; -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>BatchUpdateException</code> - * with the specified descriptive error message and update count information. - * The SQL state will be initialized to <code>null</code> and the vendor - * specific error code will be initialized to 0. - * - * @param message The descriptive error message. - * @param updateCounts The update count information for this error. - */ -public -BatchUpdateException(String message, int[] updateCounts) -{ - super(message); - - this.updateCounts = updateCounts; -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>BatchUpdateException</code> - * with the specified descriptive error message, SQL state, and update count - * information. The vendor specific error code will be initialized to 0. - * - * @param message The descriptive error message. - * @param SQLState The SQL state information for this error. - * @param updateCounts The update count information for this error. - */ -public -BatchUpdateException(String message, String SQLState, int[] updateCounts) -{ - super(message, SQLState); - - this.updateCounts = updateCounts; -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>BatchUpdateException</code> - * with the specified descriptive error message, SQL state, vendor - * specific error code and update count information. - * - * @param message The descriptive error message. - * @param SQLState The SQL state information for this error. - * @param vendorCode The vendor specific error code for this error. - * @param updateCounts The update count information for this error. - */ -public -BatchUpdateException(String message, String SQLState, int vendorCode, - int[] updateCounts) -{ - super(message, SQLState, vendorCode); - - this.updateCounts = updateCounts; -} - -/*************************************************************************/ - -/* - * Instance Methods + * This class extends <code>SQLException</code> to count the successful + * updates in each statement in a batch that was successfully updated prior + * to the error. The driver may continue to process batch commands, in which + * case those commands also have an entry in the array. So, to tell which + * command failed, search for <code>Statement.EXECUTE_FAILED</code>. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @since 1.2 + * @status updated to 1.4 */ - -/** - * This method returns the update count information for this error. If - * not <code>null</code> this is an array of <code>int</code>'s that are - * the update accounts for each command that was successfully executed. - * The array elements are in the order that the commands were executed. - * - * @return The update count information, which may be <code>null</code>. - */ -public int[] -getUpdateCounts() +public class BatchUpdateException extends SQLException { - return(updateCounts); -} - + /** + * Compatible with JDK 1.2+. + */ + private static final long serialVersionUID = 5977529877145521757L; + + /** + * This is the array of update counts for the commands which completed + * successfully prior to the error. + * + * @serial the outcome of the batch execution + */ + private final int[] updateCounts; + + /** + * Create a new instance with no descriptive error message. The SQL state + * and update count will be initialized to <code>null</code> and the + * vendor specific error code will initialized to 0. + */ + public BatchUpdateException() + { + this(null, null, 0, null); + } + + /** + * Create a new instance with the specified update count information and + * no descriptive error message. This SQL state will be initialized to + * <code>null</code> and the vendor specific error code will be initialized + * to 0. + * + * @param updateCounts the update count array + */ + public BatchUpdateException(int[] updateCounts) + { + this(null, null, 0, updateCounts); + } + + /** + * Create a new instance with the specified descriptive error message and + * update count information. The SQL state will be initialized to + * <code>null</code> and the vendor specific error code will be + * initialized to 0. + * + * @param message the descriptive error message + * @param updateCounts the update count information for this error + */ + public BatchUpdateException(String message, int[] updateCounts) + { + this(message, null, 0, updateCounts); + } + + /** + * Create a new instance with the specified descriptive error message, + * SQL state, and update count information. The vendor specific error + * code will be initialized to 0. + * + * @param message the descriptive error message + * @param state the SQL state information for this error + * @param updateCounts the update count information for this error + */ + public BatchUpdateException(String message, String state, + int[] updateCounts) + { + this(message, state, 0, updateCounts); + } + + /** + * Create a new instance with the specified descriptive error message, + * SQL state, vendor specific error code and update count information. + * + * @param message the descriptive error message + * @param state the SQL state information for this error + * @param vendorCode the vendor specific error code for this error + * @param updateCounts the update count information for this error + */ + public BatchUpdateException(String message, String state, int vendorCode, + int[] updateCounts) + { + super(message, state, vendorCode); + this.updateCounts = updateCounts; + } + + /** + * Get the update count information for this error. If not + * <code>null</code>, this is an array of <code>int</code>'s that are + * the update accounts for each command that was successfully executed. + * The array elements are in the order that the commands were executed. + * + * @return the update count information, which may be <code>null</code> + */ + public int[] getUpdateCounts() + { + return updateCounts; + } } // class BatchUpdateException - diff --git a/java/sql/DataTruncation.java b/java/sql/DataTruncation.java index 0cb67ae24..fb4035cb4 100644 --- a/java/sql/DataTruncation.java +++ b/java/sql/DataTruncation.java @@ -1,5 +1,5 @@ -/* DataTruncation.java -- Warning when data has been truncated. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* DataTruncation.java -- warning when data has been truncated + Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,169 +39,125 @@ exception statement from your version. */ package java.sql; /** - * This exception is thrown when a piece of data is unexpectedly - * truncated in JDBC. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ -public class DataTruncation extends SQLWarning -{ - -/*************************************************************************/ - -/* - * Instance Variables - */ - -/** - * The original size of the data. - * @serialized - */ -private int dataSize; - -/** - * The index of the parameter or column whose value was truncated. - * @serialized - */ -private int index; - -/** - * Indicates whether or not a parameter value was truncated. - * @serialized - */ -private boolean parameter; - -/** - * Indicates whether or not a data column value was truncated. - * @serialized - */ -private boolean read; - -/** - * This is the size of the data after truncation. - * @serialized - */ -private int transferSize; - -/*************************************************************************/ - -/** - * Static Variables - */ - -/** - * This is the serialization UID for this class - */ -private static final long serialVersionUID = 6464298989504059473L; - -/*************************************************************************/ - -/* - * Constructors + * This exception is thrown when a piece of data is unexpectedly + * truncated in JDBC. This has an SQLstate of <code>01004</code>. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @status updated to 1.4 */ - -/** - * This method initializes a new instance of <code>DataTruncation</code> - * with the specified values. The descriptive error message for this - * exception will be "Data truncation", the SQL state will be "01004" - * and the vendor specific error code will be set to 0. - * - * @param index The index of the parameter or column that was truncated. - * @param parameter <code>true</code> if a parameter was truncated, - * <code>false</code> otherwise. - * @param read <code>true</code> if a data column was truncated, - * <code>false</code> otherwise. - * @param dataSize The original size of the data. - * @param transferSize The size of the data after truncation. - */ -public -DataTruncation(int index, boolean parameter, boolean read, int dataSize, - int transferSize) -{ - super("Data truncation", "01004"); - - this.index = index; - this.parameter = parameter; - this.read = read; - this.dataSize = dataSize; - this.transferSize = transferSize; -} - -/*************************************************************************/ - -/* - * Instance Methods - */ - -/** - * This method returns the index of the column or parameter that was - * truncated. - * - * @return The index of the column or parameter that was truncated. - */ -public int -getIndex() -{ - return(index); -} - -/*************************************************************************/ - -/** - * This method determines whether or not it was a parameter that was - * truncated. - * - * @return <code>true</code> if a parameter was truncated, <code>false</code> - * otherwise. - */ -public boolean -getParameter() -{ - return(parameter); -} - -/*************************************************************************/ - -/** - * This method determines whether or not it was a column that was - * truncated. - * - * @return <code>true</code> if a column was truncated, <code>false</code> - * otherwise. - */ -public boolean -getRead() -{ - return(read); -} - -/*************************************************************************/ - -/** - * This method returns the original size of the parameter or column that - * was truncated. - * - * @return The original size of the parameter or column that was truncated. - */ -public int -getDataSize() -{ - return(dataSize); -} - -/*************************************************************************/ - -/** - * This method returns the size of the parameter or column after it was - * truncated. - * - * @return The size of the parameter or column after it was truncated. - */ -public int -getTransferSize() +public class DataTruncation extends SQLWarning { - return(transferSize); -} - + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = 6464298989504059473L; + + /** + * The original size of the data. + * + * @serial the original data size + */ + private final int dataSize; + + /** + * The index of the parameter or column whose value was truncated. + * + * @serial the index that was truncated + */ + private final int index; + + /** + * Indicates whether or not a parameter value was truncated. + * + * @serial true if a parameter was truncated + */ + private final boolean parameter; + + /** + * Indicates whether or not a data column value was truncated. + * + * @serial true if a data column was read before truncation + */ + private final boolean read; + + /** + * This is the size of the data after truncation. + * + * @serial the size actually transferred + */ + private final int transferSize; + + /** + * Create a new instance with the specified values. The descriptive error + * message for this exception will be "Data truncation", the SQL state + * will be "01004", and the vendor specific error code will be set to 0. + * + * @param index the index of the parameter or column that was truncated + * @param parameter <code>true</code> if a parameter was truncated + * @param read <code>true</code> if a data column was truncated + * @param dataSize the original size of the data + * @param transferSize the size of the data after truncation + */ + public DataTruncation(int index, boolean parameter, boolean read, + int dataSize, int transferSize) + { + super("Data truncation", "01004"); + this.index = index; + this.parameter = parameter; + this.read = read; + this.dataSize = dataSize; + this.transferSize = transferSize; + } + + /** + * Get the index of the column or parameter that was truncated. + * + * @return the index of the column or parameter that was truncated + */ + public int getIndex() + { + return index; + } + + /** + * Return true if it was a parameter that was truncated. + * + * @return <code>true</code> if a parameter was truncated + */ + public boolean getParameter() + { + return parameter; + } + + /** + * Return true if it was a column that was truncated. + * + * @return <code>true</code> if a column was truncated + */ + public boolean getRead() + { + return read; + } + + /** + * This method returns the original size of the parameter or column that + * was truncated. + * + * @return the original size + */ + public int getDataSize() + { + return dataSize; + } + + /** + * This method returns the size of the parameter or column after it was + * truncated. + * + * @return the truncated size + */ + public int getTransferSize() + { + return transferSize; + } } // class DataTruncation - diff --git a/java/sql/SQLException.java b/java/sql/SQLException.java index fce56650f..64e14503d 100644 --- a/java/sql/SQLException.java +++ b/java/sql/SQLException.java @@ -1,5 +1,5 @@ /* SQLException.java -- General SQL exception - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,183 +39,139 @@ exception statement from your version. */ package java.sql; /** - * This exception is thrown when a database error occurs. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ -public class SQLException extends Exception -{ - -/*************************************************************************/ - -/* - * Instance Variables + * This exception is thrown when a database error occurs. This exception + * keeps track of additional information:<br><ul> + * <li>The error message string (part of all Throwables)</li> + * <li>An "SQLstate" string, following either the XOPEN SQLstate or the SQL 99 + * conventions.</li> + * <li>A vendor-specific integer error code.</li> + * <li>A chain to the next exception.</li> + * <ul> + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @status updated to 1.4 */ - -/** - * This is the next exception in the chain - * @serialized - */ -private SQLException next; - -/** - * This is the state of the SQL statement at the time of the error. - * @serialized - */ -private String SQLState; - -/** - * The vendor error code for this error - * @serialized - */ -private int vendorCode; - -/*************************************************************************/ - -/** - * Static Variables - */ - -/** - * This is the serialization UID for this class - */ -private static final long serialVersionUID = 2135244094396331484L; - -/*************************************************************************/ - -/* - * Constructors - */ - -/** - * This method initializes a new instance of <code>SQLException</code> - * that does not have a descriptive messages and SQL state, and which - * has a vendor error code of 0. - */ -public -SQLException() -{ - this(null, null, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>SQLException</code> - * with the specified descriptive error message. The SQL state of this - * instance will be <code>null</code> and the vendor error code will be 0. - * - * @param message A string describing the nature of the error. - */ -public -SQLException(String message) -{ - this(message, null, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>SQLException</code> - * with the specified descriptive error message and SQL state string. - * The vendor error code of this instance will be 0. - * - * @param message A string describing the nature of the error. - * @param SQLState A string containing the SQL state of the error. - */ -public -SQLException(String message, String SQLState) -{ - this(message, SQLState, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a nwe instance of <code>SQLException</code> - * with the specified descriptive error message, SQL state string, and - * vendor code. - * - * @param message A string describing the nature of the error. - * @param SQLState A string containing the SQL state of the error. - * @param vendorCode The vendor error code associated with this error. - */ -public -SQLException(String message, String SQLState, int vendorCode) -{ - super(message); - - this.SQLState = SQLState; - this.vendorCode = vendorCode; -} - -/*************************************************************************/ - -/* - * Instance Methods - */ - -/** - * This method returns the SQLState information associated with this - * error. The value returned is a <code>String</code> which is formatted - * using the XOPEN SQL state conventions. - * - * @return The SQL state, which may be <code>null</code>. - */ -public String -getSQLState() -{ - return(SQLState); -} - -/*************************************************************************/ - -/** - * This method returns the vendor specific error code associated with - * this error. - * - * @return The vendor specific error code associated with this error. - */ -public int -getErrorCode() -{ - return(vendorCode); -} - -/*************************************************************************/ - -/** - * This method returns the exception that is chained to this object. - * - * @return The exception chained to this object, which may be - * <code>null</code>. - */ -public SQLException -getNextException() -{ - return(next); -} - -/*************************************************************************/ - -/** - * This method adds a new exception to the end of the chain of exceptions - * that are chained to this object. - * - * @param e The exception to add to the end of the chain. - */ -public void -setNextException(SQLException e) +public class SQLException extends Exception { - if (e == null) - return; - - SQLException list_entry = this; - while (list_entry.getNextException() != null) - list_entry = list_entry.getNextException(); - - list_entry.next = e; -} - + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = 2135244094396331484L; + + /** + * This is the next exception in the chain. + * + * @serial the next exception in the chain + */ + // Package visible for use by SQLWarning. + SQLException next; + + /** + * This is the state of the SQL statement at the time of the error. + * + * @serial the SQLstate + */ + private final String SQLState; + + /** + * The vendor error code for this error. + * + * @serial the vendor code + */ + private final int vendorCode; + + /** + * Create a new instance that does not have a descriptive messages or SQL + * state, and which has a vendor error code of 0. + */ + public SQLException() + { + this(null, null, 0); + } + + /** + * Create a new instance with the specified descriptive error message. The + * SQL state of this instance will be <code>null</code> and the vendor + * error code will be 0. + * + * @param message a string describing the nature of the error + */ + public SQLException(String message) + { + this(message, null, 0); + } + + /** + * Create a new instance with the specified descriptive error message + * and SQL state string. The vendor error code of this instance will be 0. + * + * @param message a string describing the nature of the error + * @param SQLState a string containing the SQL state of the error + */ + public SQLException(String message, String SQLState) + { + this(message, SQLState, 0); + } + + /** + * Create a new instance with the specified descriptive error message, + * SQL state string, and vendor code. + * + * @param message a string describing the nature of the error + * @param SQLState a string containing the SQL state of the error + * @param vendorCode the vendor error code associated with this error + */ + public SQLException(String message, String SQLState, int vendorCode) + { + super(message); + this.SQLState = SQLState; + this.vendorCode = vendorCode; + } + + /** + * Get the SQLState information associated with this error. This + * implementation formats the value using the XOPEN SQL state conventions. + * + * @return The SQL state, which may be <code>null</code> + */ + public String getSQLState() + { + return SQLState; + } + + /** + * Get the vendor specific error code associated with this error. + * + * @return the vendor specific error code associated with this error + */ + public int getErrorCode() + { + return vendorCode; + } + + /** + * Get any exception that is chained to this object. + * + * @return the exception chained to this object, or null + */ + public SQLException getNextException() + { + return next; + } + + /** + * Add a new exception to the end of the chain of exceptions that are + * chained to this object. + * + * @param e the exception to add to the end of the chain + */ + public void setNextException(SQLException e) + { + if (e == null) + return; + SQLException entry = this; + while (entry.next != null) + entry = entry.next; + entry.next = e; + } } // class SQLException - diff --git a/java/sql/SQLWarning.java b/java/sql/SQLWarning.java index 1a74ae028..e2456d5b9 100644 --- a/java/sql/SQLWarning.java +++ b/java/sql/SQLWarning.java @@ -1,5 +1,5 @@ -/* SQLWarning.java -- Database access warnings. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* SQLWarning.java -- database access warnings + Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,120 +39,94 @@ exception statement from your version. */ package java.sql; /** - * This exception is thrown when a database warning occurs. - * - * @author Aaron M. Renn (arenn@urbanophile.com) - */ -public class SQLWarning extends SQLException -{ - -/*************************************************************************/ - -/** - * Static Variables - */ - -/** - * This is the serialization UID for this class - */ -private static final long serialVersionUID = 3917336774604784856L; - -/*************************************************************************/ - -/* - * Constructors + * This exception is thrown when a database warning occurs. Warnings are + * silently chained to the object which caused them. + * + * <p>Warnings may be retrieved from <code>Connection</code>, + * <code>Statement</code>, and <code>ResultSet</code> objects. Trying to + * retrieve a warning one of these after it has been closed will cause an + * exception to be thrown. Note that closing a statement also closes a result + * set that it might have produced. + * + * @author Aaron M. Renn (arenn@urbanophile.com) + * @see Connection#getWarnings() + * @see Statement#getWarnings() + * @see ResultSet#getWarnings() */ - -/** - * This method initializes a new instance of <code>SQLWarning</code> - * that does not have a descriptive messages and SQL state, and which - * has a vendor error code of 0. - */ -public -SQLWarning() -{ - this(null, null, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>SQLWarning</code> - * with the specified descriptive error message. The SQL state of this - * instance will be <code>null</code> and the vendor error code will be 0. - * - * @param message A string describing the nature of the error. - */ -public -SQLWarning(String message) -{ - this(message, null, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a new instance of <code>SQLWarning</code> - * with the specified descriptive error message and SQL state string. - * The vendor error code of this instance will be 0. - * - * @param message A string describing the nature of the error. - * @param SQLState A string containing the SQL state of the error. - */ -public -SQLWarning(String message, String SQLState) -{ - this(message, SQLState, 0); -} - -/*************************************************************************/ - -/** - * This method initializes a nwe instance of <code>SQLWarning</code> - * with the specified descriptive error message, SQL state string, and - * vendor code. - * - * @param message A string describing the nature of the error. - * @param SQLState A string containing the SQL state of the error. - * @param vendorCode The vendor error code associated with this error. - */ -public -SQLWarning(String message, String SQLState, int vendorCode) -{ - super(message, SQLState, vendorCode); -} - -/*************************************************************************/ - -/* - * Instance Methods - */ - -/** - * This method returns the exception that is chained to this object. - * - * @return The exception chained to this object, which may be - * <code>null</code>. - */ -public SQLWarning -getNextWarning() -{ - return((SQLWarning)super.getNextException()); -} - -/*************************************************************************/ - -/** - * This method adds a new exception to the end of the chain of exceptions - * that are chained to this object. - * - * @param e The exception to add to the end of the chain. - */ -public void -setNextWarning(SQLWarning e) +public class SQLWarning extends SQLException { - super.setNextException(e); -} - + /** + * Compatible with JDK 1.1+. + */ + private static final long serialVersionUID = 3917336774604784856L; + + /** + * Create a new instance that does not have a descriptive messages or SQL + * state, and which has a vendor error code of 0. + */ + public SQLWarning() + { + } + + /** + * Create a new instance with the specified descriptive error message. + * The SQL state of this instance will be <code>null</code> and the vendor + * error code will be 0. + * + * @param message a string describing the nature of the error + */ + public SQLWarning(String message) + { + super(message); + } + + /** + * Create a new instance with the specified descriptive error message + * and SQL state string. The vendor error code of this instance will be 0. + * + * @param message a string describing the nature of the error + * @param SQLState a string containing the SQL state of the error + */ + public SQLWarning(String message, String SQLState) + { + super(message, SQLState); + } + + /** + * Create a new instance with the specified descriptive error message, + * SQL state string, and vendor code. + * + * @param message a string describing the nature of the error + * @param SQLState a string containing the SQL state of the error + * @param vendorCode the vendor error code associated with this error + */ + public SQLWarning(String message, String SQLState, int vendorCode) + { + super(message, SQLState, vendorCode); + } + + /** + * Get the warning that is chained to this object. + * + * @return the exception chained to this object, or null + * @throws Error if the next element is not an SQLWarning + */ + public SQLWarning getNextWarning() + { + if (next == null) + return null; + if (! (next instanceof SQLWarning)) + throw new Error("SQLWarning chain holds value that is not a SQLWarning"); + return (SQLWarning) next; + } + + /** + * Set the new end of the warning chain. + * + * @param e the exception to add to the end of the chain + */ + public void setNextWarning(SQLWarning e) + { + setNextException(e); + } } // class SQLWarning - |
