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

#ifndef __javax_naming_directory_InvalidAttributesException__
#define __javax_naming_directory_InvalidAttributesException__

#pragma interface

#include <javax/naming/NamingException.h>
extern "Java"
{
  namespace javax
  {
    namespace naming
    {
      namespace directory
      {
          class InvalidAttributesException;
      }
    }
  }
}

class javax::naming::directory::InvalidAttributesException : public ::javax::naming::NamingException
{

public:
  InvalidAttributesException();
  InvalidAttributesException(::java::lang::String *);
private:
  static const jlong serialVersionUID = 2607612850539889765LL;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_naming_directory_InvalidAttributesException__
