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

#ifndef __gnu_java_security_util_DerUtil__
#define __gnu_java_security_util_DerUtil__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace der
        {
            class DERValue;
        }
        namespace util
        {
            class DerUtil;
        }
      }
    }
  }
}

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

public:
  DerUtil();
  static void checkIsConstructed(::gnu::java::security::der::DERValue *, ::java::lang::String *);
  static void checkIsBigInteger(::gnu::java::security::der::DERValue *, ::java::lang::String *);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_util_DerUtil__
