
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_sql_BatchUpdateException__
#define __java_sql_BatchUpdateException__

#pragma interface

#include <java/sql/SQLException.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace sql
    {
        class BatchUpdateException;
    }
  }
}

class java::sql::BatchUpdateException : public ::java::sql::SQLException
{

public:
  BatchUpdateException(::java::lang::String *, ::java::lang::String *, jint, JArray< jint > *);
  BatchUpdateException(::java::lang::String *, ::java::lang::String *, JArray< jint > *);
  BatchUpdateException(::java::lang::String *, JArray< jint > *);
  BatchUpdateException(JArray< jint > *);
  BatchUpdateException();
  virtual JArray< jint > * getUpdateCounts();
public: // actually package-private
  static const jlong serialVersionUID = 5977529877145521757LL;
private:
  JArray< jint > * __attribute__((aligned(__alignof__( ::java::sql::SQLException)))) updateCounts;
public:
  static ::java::lang::Class class$;
};

#endif // __java_sql_BatchUpdateException__
