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

#ifndef __gnu_classpath_debug_PreciseFilter__
#define __gnu_classpath_debug_PreciseFilter__

#pragma interface

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

class gnu::classpath::debug::PreciseFilter : public ::java::lang::Object
{

  PreciseFilter();
public:
  void disable(::gnu::classpath::debug::Component *);
  void enable(::gnu::classpath::debug::Component *);
  jboolean isEnabled(::gnu::classpath::debug::Component *);
  jboolean isLoggable(::java::util::logging::LogRecord *);
  static ::gnu::classpath::debug::PreciseFilter * GLOBAL;
private:
  ::java::util::BitSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) enabled;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_classpath_debug_PreciseFilter__
