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

#ifndef __javax_management_Query$InstanceOfQueryExp__
#define __javax_management_Query$InstanceOfQueryExp__

#pragma interface

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

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

public:
  Query$InstanceOfQueryExp(::javax::management::StringValueExp *);
  jboolean apply(::javax::management::ObjectName *);
private:
  static const jlong serialVersionUID = -1081892073854801359LL;
  ::javax::management::StringValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) classNameValue;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_Query$InstanceOfQueryExp__
