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

#ifndef __gnu_java_security_util_ByteArray__
#define __gnu_java_security_util_ByteArray__

#pragma interface

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

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace util
        {
            class ByteArray;
        }
      }
    }
  }
}

class gnu::java::security::util::ByteArray : public ::java::lang::Object
{

public:
  ByteArray(JArray< jbyte > *);
  JArray< jbyte > * getValue();
  ::java::lang::String * toString();
  static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar);
  static ::java::lang::String * formatInt(jint, jint, jint);
private:
  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_util_ByteArray__
