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

#ifndef __javax_management_Query$BooleanValueExp__
#define __javax_management_Query$BooleanValueExp__

#pragma interface

#include <javax/management/QueryEval.h>
extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class ObjectName;
        class Query$BooleanValueExp;
        class ValueExp;
    }
  }
}

class javax::management::Query$BooleanValueExp : public ::javax::management::QueryEval
{

public:
  Query$BooleanValueExp(jboolean);
  ::javax::management::ValueExp * apply(::javax::management::ObjectName *);
  ::java::lang::String * toString();
private:
  static const jlong serialVersionUID = 7754922052666594581LL;
  jboolean __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) val;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_Query$BooleanValueExp__
