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

#ifndef __javax_security_cert_CertificateExpiredException__
#define __javax_security_cert_CertificateExpiredException__

#pragma interface

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

class javax::security::cert::CertificateExpiredException : public ::javax::security::cert::CertificateException
{

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

#endif // __javax_security_cert_CertificateExpiredException__
