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

#ifndef __gnu_java_security_util_IntegerUtil__
#define __gnu_java_security_util_IntegerUtil__

#pragma interface

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

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

  IntegerUtil();
public:
  static ::java::lang::Integer * valueOf(::java::lang::String *);
  static ::java::lang::Integer * valueOf(jint);
private:
  static const jint CACHE_SIZE = 100;
  static ::java::util::Map * cache;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_util_IntegerUtil__
