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

#ifndef __javax_management_Query$BetweenQueryExp__
#define __javax_management_Query$BetweenQueryExp__

#pragma interface

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

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

public:
  Query$BetweenQueryExp(::javax::management::ValueExp *, ::javax::management::ValueExp *, ::javax::management::ValueExp *);
  jboolean apply(::javax::management::ObjectName *);
private:
  static const jlong serialVersionUID = -2933597532866307444LL;
  ::javax::management::ValueExp * __attribute__((aligned(__alignof__( ::javax::management::QueryEval)))) exp1;
  ::javax::management::ValueExp * exp2;
  ::javax::management::ValueExp * exp3;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_Query$BetweenQueryExp__
