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

#ifndef __java_sql_Time__
#define __java_sql_Time__

#pragma interface

#include <java/util/Date.h>
extern "Java"
{
  namespace java
  {
    namespace sql
    {
        class Time;
    }
    namespace text
    {
        class SimpleDateFormat;
    }
  }
}

class java::sql::Time : public ::java::util::Date
{

public:
  virtual jint getDate();
  virtual jint getDay();
  virtual jint getMonth();
  virtual jint getYear();
  virtual void setDate(jint);
  virtual void setMonth(jint);
  virtual void setYear(jint);
  static ::java::sql::Time * valueOf(::java::lang::String *);
  Time(jint, jint, jint);
  Time(jlong);
  virtual ::java::lang::String * toString();
public: // actually package-private
  static const jlong serialVersionUID = 8397324403548013681LL;
private:
  static ::java::text::SimpleDateFormat * sdf;
public:
  static ::java::lang::Class class$;
};

#endif // __java_sql_Time__
