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

#ifndef __java_sql_Array__
#define __java_sql_Array__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace sql
    {
        class Array;
        class ResultSet;
    }
  }
}

class java::sql::Array : public ::java::lang::Object
{

public:
  virtual ::java::lang::String * getBaseTypeName() = 0;
  virtual jint getBaseType() = 0;
  virtual ::java::lang::Object * getArray() = 0;
  virtual ::java::lang::Object * getArray(::java::util::Map *) = 0;
  virtual ::java::lang::Object * getArray(jlong, jint) = 0;
  virtual ::java::lang::Object * getArray(jlong, jint, ::java::util::Map *) = 0;
  virtual ::java::sql::ResultSet * getResultSet() = 0;
  virtual ::java::sql::ResultSet * getResultSet(::java::util::Map *) = 0;
  virtual ::java::sql::ResultSet * getResultSet(jlong, jint) = 0;
  virtual ::java::sql::ResultSet * getResultSet(jlong, jint, ::java::util::Map *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_sql_Array__
