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

#ifndef __gnu_javax_crypto_cipher_WeakKeyException__
#define __gnu_javax_crypto_cipher_WeakKeyException__

#pragma interface

#include <java/security/InvalidKeyException.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace cipher
        {
            class WeakKeyException;
        }
      }
    }
  }
}

class gnu::javax::crypto::cipher::WeakKeyException : public ::java::security::InvalidKeyException
{

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

#endif // __gnu_javax_crypto_cipher_WeakKeyException__
