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

#ifndef __java_math_RoundingMode__
#define __java_math_RoundingMode__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace math
    {
        class RoundingMode;
    }
  }
}

class java::math::RoundingMode : public ::java::lang::Enum
{

  RoundingMode(::java::lang::String *, jint);
public:
  static ::java::math::RoundingMode * valueOf(jint);
  static JArray< ::java::math::RoundingMode * > * values();
  static ::java::math::RoundingMode * valueOf(::java::lang::String *);
  static ::java::math::RoundingMode * UP;
  static ::java::math::RoundingMode * DOWN;
  static ::java::math::RoundingMode * CEILING;
  static ::java::math::RoundingMode * FLOOR;
  static ::java::math::RoundingMode * HALF_UP;
  static ::java::math::RoundingMode * HALF_DOWN;
  static ::java::math::RoundingMode * HALF_EVEN;
  static ::java::math::RoundingMode * UNNECESSARY;
private:
  static const jlong serialVersionUID = 432302042773881265LL;
  static JArray< ::java::math::RoundingMode * > * ENUM$VALUES;
public:
  static ::java::lang::Class class$;
};

#endif // __java_math_RoundingMode__
