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

#ifndef __java_security_spec_EncodedKeySpec__
#define __java_security_spec_EncodedKeySpec__

#pragma interface

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

extern "Java"
{
  namespace java
  {
    namespace security
    {
      namespace spec
      {
          class EncodedKeySpec;
      }
    }
  }
}

class java::security::spec::EncodedKeySpec : public ::java::lang::Object
{

public:
  EncodedKeySpec(JArray< jbyte > *);
  virtual JArray< jbyte > * getEncoded();
  virtual ::java::lang::String * getFormat() = 0;
private:
  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) encodedKey;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_spec_EncodedKeySpec__
