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

#ifndef __gnu_classpath_Configuration__
#define __gnu_classpath_Configuration__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace classpath
    {
        class Configuration;
    }
  }
}

class gnu::classpath::Configuration : public ::java::lang::Object
{

  Configuration();
  static ::java::lang::String * classpath_home();
  static jboolean debug();
  static ::java::lang::String * toolkit();
  static ::java::lang::String * ecj();
public:
  static ::java::lang::String * CLASSPATH_HOME;
  static ::java::lang::String * CLASSPATH_VERSION;
  static jboolean DEBUG;
  static const jboolean INIT_LOAD_LIBRARY = 0;
  static ::java::lang::String * default_awt_peer_toolkit;
  static const jboolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = 0;
  static ::java::lang::String * ECJ_JAR;
  static const jboolean WANT_NATIVE_BIG_INTEGER = 1;
  static ::java::lang::Class class$;
};

#endif // __gnu_classpath_Configuration__
