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

#ifndef __gnu_java_lang_management_CompilationMXBeanImpl__
#define __gnu_java_lang_management_CompilationMXBeanImpl__

#pragma interface

#include <gnu/java/lang/management/BeanImpl.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace lang
      {
        namespace management
        {
            class CompilationMXBeanImpl;
        }
      }
    }
  }
}

class gnu::java::lang::management::CompilationMXBeanImpl : public ::gnu::java::lang::management::BeanImpl
{

public:
  CompilationMXBeanImpl();
  ::java::lang::String * getName();
  jboolean isCompilationTimeMonitoringSupported();
  jlong getTotalCompilationTime();
private:
  static ::java::lang::String * COMPILER_NAME;
  static ::java::lang::String * COMPILATION_TIME_SUPPORT;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_lang_management_CompilationMXBeanImpl__
