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

#ifndef __javax_management_BadAttributeValueExpException__
#define __javax_management_BadAttributeValueExpException__

#pragma interface

#include <java/lang/Exception.h>
extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class BadAttributeValueExpException;
    }
  }
}

class javax::management::BadAttributeValueExpException : public ::java::lang::Exception
{

public:
  BadAttributeValueExpException(::java::lang::Object *);
  virtual ::java::lang::String * toString();
private:
  static const jlong serialVersionUID = -3105272988410493376LL;
  ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) val;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_management_BadAttributeValueExpException__
