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

#ifndef __javax_xml_datatype_XMLGregorianCalendar__
#define __javax_xml_datatype_XMLGregorianCalendar__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace math
    {
        class BigDecimal;
        class BigInteger;
    }
  }
  namespace javax
  {
    namespace xml
    {
      namespace datatype
      {
          class Duration;
          class XMLGregorianCalendar;
      }
      namespace namespace
      {
          class QName;
      }
    }
  }
}

class javax::xml::datatype::XMLGregorianCalendar : public ::java::lang::Object
{

public:
  XMLGregorianCalendar();
  virtual void clear() = 0;
  virtual void reset() = 0;
  virtual void setYear(::java::math::BigInteger *) = 0;
  virtual void setYear(jint) = 0;
  virtual void setMonth(jint) = 0;
  virtual void setDay(jint) = 0;
  virtual void setTimezone(jint) = 0;
  virtual void setTime(jint, jint, jint);
  virtual void setHour(jint) = 0;
  virtual void setMinute(jint) = 0;
  virtual void setSecond(jint) = 0;
  virtual void setMillisecond(jint) = 0;
  virtual void setFractionalSecond(::java::math::BigDecimal *) = 0;
  virtual void setTime(jint, jint, jint, ::java::math::BigDecimal *);
  virtual void setTime(jint, jint, jint, jint);
  virtual ::java::math::BigInteger * getEon() = 0;
  virtual jint getYear() = 0;
  virtual ::java::math::BigInteger * getEonAndYear() = 0;
  virtual jint getMonth() = 0;
  virtual jint getDay() = 0;
  virtual jint getTimezone() = 0;
  virtual jint getHour() = 0;
  virtual jint getMinute() = 0;
  virtual jint getSecond() = 0;
  virtual jint getMillisecond();
  virtual ::java::math::BigDecimal * getFractionalSecond() = 0;
  virtual jint compare(::javax::xml::datatype::XMLGregorianCalendar *) = 0;
  virtual ::javax::xml::datatype::XMLGregorianCalendar * normalize() = 0;
  virtual jboolean equals(::java::lang::Object *);
  virtual jint hashCode();
  virtual ::java::lang::String * toXMLFormat() = 0;
  virtual ::javax::xml::namespace::QName * getXMLSchemaType() = 0;
  virtual ::java::lang::String * toString();
  virtual jboolean isValid() = 0;
  virtual void add(::javax::xml::datatype::Duration *) = 0;
  virtual ::java::util::GregorianCalendar * toGregorianCalendar() = 0;
  virtual ::java::util::GregorianCalendar * toGregorianCalendar(::java::util::TimeZone *, ::java::util::Locale *, ::javax::xml::datatype::XMLGregorianCalendar *) = 0;
  virtual ::java::util::TimeZone * getTimeZone(jint) = 0;
  virtual ::java::lang::Object * clone() = 0;
  static ::java::lang::Class class$;
};

#endif // __javax_xml_datatype_XMLGregorianCalendar__
