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

#ifndef __java_security_cert_CertificateException__
#define __java_security_cert_CertificateException__

#pragma interface

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

class java::security::cert::CertificateException : public ::java::security::GeneralSecurityException
{

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

#endif // __java_security_cert_CertificateException__
