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

#ifndef __java_security_InvalidAlgorithmParameterException__
#define __java_security_InvalidAlgorithmParameterException__

#pragma interface

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

class java::security::InvalidAlgorithmParameterException : public ::java::security::GeneralSecurityException
{

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

#endif // __java_security_InvalidAlgorithmParameterException__
