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

#ifndef __java_security_KeyException__
#define __java_security_KeyException__

#pragma interface

#include <java/security/GeneralSecurityException.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class KeyException;
    }
  }
}

class java::security::KeyException : public ::java::security::GeneralSecurityException
{

public:
  KeyException();
  KeyException(::java::lang::String *);
  KeyException(::java::lang::String *, ::java::lang::Throwable *);
  KeyException(::java::lang::Throwable *);
private:
  static const jlong serialVersionUID = -7483676942812432108LL;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_KeyException__
