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

#ifndef __javax_management_Query$InQueryExp__
#define __javax_management_Query$InQueryExp__

#pragma interface

#include <javax/management/QueryEval.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class ObjectName;
        class Query$InQueryExp;
        class ValueExp;
    }
  }
}

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

public:
  Query$InQueryExp(::javax::management::ValueExp *, JArray< ::javax::management::ValueExp * > *);
  jboolean apply(::javax::management::ObjectName *);
private:
  static const jlong serialVersionUID = -5801329450358952434LL;
  ::javax::management::ValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) val;
  JArray< ::javax::management::ValueExp * > * valueList;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_Query$InQueryExp__
