/*************************************************************************
/* BatchUpdateException.java -- Exception for batch oriented SQL errors
/*
/* Copyright (c) 1999 Free Software Foundation, Inc.
/* Written by Aaron M. Renn (arenn@urbanophile.com)
/*
/* This library is free software; you can redistribute it and/or modify
/* it under the terms of the GNU Library General Public License as published
/* by the Free Software Foundation, either version 2 of the License, or
/* (at your option) any later verion.
/*
/* This library 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 Library General Public License for more details.
/*
/* You should have received a copy of the GNU Library General Public License
/* along with this library; if not, write to the Free Software Foundation
/* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA
/*************************************************************************/
package java.sql;
/**
* This class extends SQLException 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
implements java.io.Serializable
{
/*************************************************************************/
/*
* 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 BatchUpdateException
* with no descriptive error message. The SQL state and update count will
* be initialized to null and the vendor specific error code will
* initialized to 0.
*/
public
BatchUpdateException()
{
super();
}
/*************************************************************************/
/**
* This method initializes a new instance of BatchUpdateException
* with the specified update count information and no descriptive error
* message. This SQL state will be initialized to null 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 BatchUpdateException
* with the specified descriptive error message and update count information.
* The SQL state will be initialized to null 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 BatchUpdateException
* 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 BatchUpdateException
* 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 method returns the update count information for this error. If
* not null this is an array of int'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 null.
*/
public int[]
getUpdateCounts()
{
return(updateCounts);
}
} // class BatchUpdateException