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

#ifndef __java_sql_DriverPropertyInfo__
#define __java_sql_DriverPropertyInfo__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

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

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

public:
  DriverPropertyInfo(::java::lang::String *, ::java::lang::String *);
  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
  ::java::lang::String * description;
  jboolean required;
  ::java::lang::String * value;
  JArray< ::java::lang::String * > * choices;
  static ::java::lang::Class class$;
};

#endif // __java_sql_DriverPropertyInfo__
