Frames | No Frames |
1: /* BatchUpdateException.java -- Exception for batch oriented SQL errors 2: Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: package java.sql; 39: 40: /** 41: * This class extends <code>SQLException</code> to count the successful 42: * updates in each statement in a batch that was successfully updated prior 43: * to the error. 44: * 45: * @author Aaron M. Renn (arenn@urbanophile.com) 46: */ 47: public class BatchUpdateException extends SQLException 48: { 49: static final long serialVersionUID = 5977529877145521757L; 50: 51: /** 52: * This is the array of update counts for the commands which completed 53: * successfully prior to the error. 54: */ 55: private int[] updateCounts; 56: 57: /** 58: * This method initializes a new instance of <code>BatchUpdateException</code> 59: * with the specified descriptive error message, SQL state, and update count 60: * information. The vendor specific error code will be initialized to 0. 61: * 62: * @param message The descriptive error message. 63: * @param SQLState The SQL state information for this error. 64: * @param vendorCode 65: * @param updateCounts The update count information for this error. 66: */ 67: public BatchUpdateException(String message, String SQLState, int vendorCode, 68: int[] updateCounts) 69: { 70: super(message, SQLState, vendorCode); 71: this.updateCounts = updateCounts; 72: } 73: 74: /** 75: * This method initializes a new instance of <code>BatchUpdateException</code> 76: * with the specified descriptive error message, SQL state, and update count 77: * information. The vendor specific error code will be initialized to 0. 78: * 79: * @param message The descriptive error message. 80: * @param SQLState The SQL state information for this error. 81: * @param updateCounts The update count information for this error. 82: */ 83: public BatchUpdateException(String message, String SQLState, 84: int[] updateCounts) 85: { 86: super(message, SQLState); 87: this.updateCounts = updateCounts; 88: } 89: 90: /** 91: * This method initializes a new instance of <code>BatchUpdateException</code> 92: * with the specified descriptive error message and update count information. 93: * The SQL state will be initialized to <code>null</code> and the vendor 94: * specific error code will be initialized to 0. 95: * 96: * @param message The descriptive error message. 97: * @param updateCounts The update count information for this error. 98: */ 99: public BatchUpdateException(String message, int[] updateCounts) 100: { 101: super(message); 102: this.updateCounts = updateCounts; 103: } 104: 105: /** 106: * Initializes a new instance of <code>BatchUpdateException</code> 107: * with the specified update count information and no descriptive error 108: * message. This SQL state will be initialized to <code>null</code> and 109: * the vendor specific error code will be initialized to 0. 110: * 111: * @param updateCounts The update count array. 112: */ 113: public BatchUpdateException(int[] updateCounts) 114: { 115: this.updateCounts = updateCounts; 116: } 117: 118: /** 119: * Initializes a new instance of <code>BatchUpdateException</code> 120: * with no descriptive error message. The SQL state and update count will 121: * be initialized to <code>null</code> and the vendor specific error code will 122: * initialized to 0. 123: */ 124: public BatchUpdateException() 125: { 126: super(); 127: } 128: 129: /** 130: * This method returns the update count information for this error. If 131: * not <code>null</code> this is an array of <code>int</code>'s that are 132: * the update accounts for each command that was successfully executed. 133: * The array elements are in the order that the commands were executed. 134: * 135: * @return The update count information, which may be <code>null</code>. 136: */ 137: public int[] getUpdateCounts() 138: { 139: return updateCounts; 140: } 141: }