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

#ifndef __java_lang_Integer__
#define __java_lang_Integer__

#pragma interface

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


class java::lang::Integer : public ::java::lang::Number
{

public:
  Integer(jint);
  Integer(::java::lang::String *);
private:
  static jint stringSize(jint, jint);
public:
  static ::java::lang::String * toString(jint, jint);
  static ::java::lang::String * toHexString(jint);
  static ::java::lang::String * toOctalString(jint);
  static ::java::lang::String * toBinaryString(jint);
  static ::java::lang::String * toString(jint);
  static jint parseInt(::java::lang::String *, jint);
  static jint parseInt(::java::lang::String *);
  static ::java::lang::Integer * valueOf(::java::lang::String *, jint);
  static ::java::lang::Integer * valueOf(::java::lang::String *);
  static ::java::lang::Integer * valueOf(jint);
  jbyte byteValue();
  jshort shortValue();
  jint intValue();
  jlong longValue();
  jfloat floatValue();
  jdouble doubleValue();
  ::java::lang::String * toString();
  jint hashCode();
  jboolean equals(::java::lang::Object *);
  static ::java::lang::Integer * getInteger(::java::lang::String *);
  static ::java::lang::Integer * getInteger(::java::lang::String *, jint);
  static ::java::lang::Integer * getInteger(::java::lang::String *, ::java::lang::Integer *);
  static ::java::lang::Integer * decode(::java::lang::String *);
  jint Integer$compareTo(::java::lang::Integer *);
  static jint bitCount(jint);
  static jint rotateLeft(jint, jint);
  static jint rotateRight(jint, jint);
  static jint highestOneBit(jint);
  static jint numberOfLeadingZeros(jint);
  static jint lowestOneBit(jint);
  static jint numberOfTrailingZeros(jint);
  static jint signum(jint);
  static jint reverseBytes(jint);
  static jint reverse(jint);
public: // actually package-private
  static ::java::lang::String * toUnsignedString(jint, jint);
  static jint parseInt(::java::lang::String *, jint, jboolean);
public:
  jint compareTo(::java::lang::Object *);
private:
  static const jlong serialVersionUID = 1360826667806852920LL;
public:
  static const jint MIN_VALUE = -2147483647 - 1;
  static const jint MAX_VALUE = 2147483647;
  static ::java::lang::Class * TYPE;
  static const jint SIZE = 32;
private:
  static const jint MIN_CACHE = -128;
  static const jint MAX_CACHE = 127;
  static JArray< ::java::lang::Integer * > * intCache;
  jint __attribute__((aligned(__alignof__( ::java::lang::Number)))) value;
public:
  static ::java::lang::Class class$;
};

#endif // __java_lang_Integer__