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

#ifndef __java_util_SimpleTimeZone__
#define __java_util_SimpleTimeZone__

#pragma interface

#include <java/util/TimeZone.h>
#include <gcj/array.h>

class java::util::SimpleTimeZone : public ::java::util::TimeZone
{
public:
  SimpleTimeZone (jint, ::java::lang::String *);
  SimpleTimeZone (jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint);
  SimpleTimeZone (jint, ::java::lang::String *, jint, jint, jint, jint, jint, jint, jint, jint, jint);
  virtual void setStartYear (jint);
private:
  jint checkRule (jint, jint, jint);
public:
  virtual void setStartRule (jint, jint, jint, jint);
  virtual void setEndRule (jint, jint, jint, jint);
  virtual jint getOffset (jint, jint, jint, jint, jint, jint);
  virtual jint getRawOffset () { return rawOffset; }
  virtual void setRawOffset (jint);
  virtual jint getDSTSavings () { return dstSavings; }
  virtual void setDSTSavings (jint);
  virtual jboolean useDaylightTime () { return useDaylight; }
private:
  jint getDaysInMonth (jint, jint);
  jboolean isBefore (jint, jint, jint, jint, jint, jint, jint, jint, jint, jint);
public:
  virtual jboolean inDaylightTime (::java::util::Date *);
  virtual jint hashCode ();
  virtual jboolean equals (::java::lang::Object *);
  virtual jboolean hasSameRules (::java::util::TimeZone *);
  virtual ::java::lang::String *toString ();
private:
  void readObject (::java::io::ObjectInputStream *);
  void writeObject (::java::io::ObjectOutputStream *);
  jint __attribute__((aligned(__alignof__( ::java::util::TimeZone ))))  rawOffset;
  jboolean useDaylight;
  jint dstSavings;
  jint startYear;
  static const jint DOM_MODE = 1L;
  static const jint DOW_IN_MONTH_MODE = 2L;
  static const jint DOW_GE_DOM_MODE = 3L;
  static const jint DOW_LE_DOM_MODE = 4L;
  jint startMode;
  jint startMonth;
  jint startDay;
  jint startDayOfWeek;
  jint startTime;
  jint endMonth;
  jint endMode;
  jint endDay;
  jint endDayOfWeek;
  jint endTime;
  jbyteArray monthLength;
  static jbyteArray monthArr;
  jint serialVersionOnStream;
  static const jlong serialVersionUID = -403250971215465050LL;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_util_SimpleTimeZone__ */
