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

#ifndef __java_security_PrivilegedActionException__
#define __java_security_PrivilegedActionException__

#pragma interface

#include <java/lang/Exception.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class PrivilegedActionException;
    }
  }
}

class java::security::PrivilegedActionException : public ::java::lang::Exception
{

public:
  PrivilegedActionException(::java::lang::Exception *);
  virtual ::java::lang::Exception * getException();
  virtual ::java::lang::Throwable * getCause();
  virtual ::java::lang::String * toString();
private:
  static const jlong serialVersionUID = 4724086851538908602LL;
  ::java::lang::Exception * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) exception;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_PrivilegedActionException__
