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

#ifndef __gnu_java_lang_management_VMClassLoadingMXBeanImpl__
#define __gnu_java_lang_management_VMClassLoadingMXBeanImpl__

#pragma interface

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

class gnu::java::lang::management::VMClassLoadingMXBeanImpl : public ::java::lang::Object
{

public: // actually package-private
  VMClassLoadingMXBeanImpl();
  static jint getLoadedClassCount();
  static jlong getUnloadedClassCount();
  static jboolean isVerbose();
  static void setVerbose(jboolean);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_lang_management_VMClassLoadingMXBeanImpl__
