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

#ifndef __java_lang_StringBuffer__
#define __java_lang_StringBuffer__

#pragma interface

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

class java::lang::StringBuffer : public ::java::lang::Object
{
public:
  StringBuffer ();
  StringBuffer (jint);
  StringBuffer (::java::lang::String *);
  StringBuffer (::java::lang::CharSequence *);
  virtual jint length ();
  virtual jint capacity ();
  virtual void ensureCapacity (jint);
  virtual void setLength (jint);
  virtual jchar charAt (jint);
  virtual jint codePointAt (jint);
  virtual jint codePointBefore (jint);
  virtual void getChars (jint, jint, jcharArray, jint);
  virtual void setCharAt (jint, jchar);
  virtual ::java::lang::StringBuffer *append (::java::lang::Object *);
  virtual ::java::lang::StringBuffer *append (::java::lang::String *);
  virtual ::java::lang::StringBuffer *append (::java::lang::StringBuffer *);
  virtual ::java::lang::StringBuffer *append (::java::lang::CharSequence *);
  virtual ::java::lang::StringBuffer *append (::java::lang::CharSequence *, jint, jint);
  virtual ::java::lang::StringBuffer *append (jcharArray);
  virtual ::java::lang::StringBuffer *append (jcharArray, jint, jint);
  virtual ::java::lang::StringBuffer *append (jboolean);
  virtual ::java::lang::StringBuffer *append (jchar);
  virtual ::java::lang::StringBuffer *appendCodePoint (jint);
  virtual ::java::lang::StringBuffer *append (jint);
  virtual ::java::lang::StringBuffer *append (jlong);
  virtual ::java::lang::StringBuffer *append (jfloat);
  virtual ::java::lang::StringBuffer *append (jdouble);
  virtual ::java::lang::StringBuffer *delete$ (jint, jint);
  virtual ::java::lang::StringBuffer *deleteCharAt (jint);
  virtual ::java::lang::StringBuffer *replace (jint, jint, ::java::lang::String *);
  virtual ::java::lang::String *substring (jint);
  virtual ::java::lang::CharSequence *subSequence (jint, jint);
  virtual ::java::lang::String *substring (jint, jint);
  virtual ::java::lang::StringBuffer *insert (jint, jcharArray, jint, jint);
  virtual ::java::lang::StringBuffer *insert (jint, ::java::lang::Object *);
  virtual ::java::lang::StringBuffer *insert (jint, ::java::lang::String *);
  virtual ::java::lang::StringBuffer *insert (jint, ::java::lang::CharSequence *);
  virtual ::java::lang::StringBuffer *insert (jint, ::java::lang::CharSequence *, jint, jint);
  virtual ::java::lang::StringBuffer *insert (jint, jcharArray);
  virtual ::java::lang::StringBuffer *insert (jint, jboolean);
  virtual ::java::lang::StringBuffer *insert (jint, jchar);
  virtual ::java::lang::StringBuffer *insert (jint, jint);
  virtual ::java::lang::StringBuffer *insert (jint, jlong);
  virtual ::java::lang::StringBuffer *insert (jint, jfloat);
  virtual ::java::lang::StringBuffer *insert (jint, jdouble);
  virtual jint indexOf (::java::lang::String *);
  virtual jint indexOf (::java::lang::String *, jint);
  virtual jint lastIndexOf (::java::lang::String *);
  virtual jint lastIndexOf (::java::lang::String *, jint);
  virtual ::java::lang::StringBuffer *reverse ();
  virtual ::java::lang::String *toString ();
  virtual void trimToSize ();
  virtual jint codePointCount (jint, jint);
  virtual jint offsetByCodePoints (jint, jint);
private:
  void ensureCapacity_unsynchronized (jint);
  jboolean regionMatches (jint, ::java::lang::String *);
  static const jlong serialVersionUID = 3388685877147921107LL;
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  count;
  jcharArray value;
  jboolean shared;
private:
  static const jint DEFAULT_CAPACITY = 16L;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_lang_StringBuffer__ */
