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

#ifndef __java_security_PrivateKey__
#define __java_security_PrivateKey__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace security
    {
        class PrivateKey;
    }
  }
}

class java::security::PrivateKey : public ::java::lang::Object
{

public:
  virtual ::java::lang::String * getAlgorithm() = 0;
  virtual ::java::lang::String * getFormat() = 0;
  virtual JArray< jbyte > * getEncoded() = 0;
  static const jlong serialVersionUID = 6034044314589513430LL;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_security_PrivateKey__
