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

#ifndef __javax_management_AttributeNotFoundException__
#define __javax_management_AttributeNotFoundException__

#pragma interface

#include <javax/management/OperationsException.h>
extern "Java"
{
  namespace javax
  {
    namespace management
    {
        class AttributeNotFoundException;
    }
  }
}

class javax::management::AttributeNotFoundException : public ::javax::management::OperationsException
{

public:
  AttributeNotFoundException();
  AttributeNotFoundException(::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __javax_management_AttributeNotFoundException__
