/* DO NOT EDIT THIS FILE - it is machine generated */
#include "jri.h"

/* Header for class java/lang/String */

#ifndef _java_lang_String_H_
#define _java_lang_String_H_

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

struct java_lang_String;
struct java_lang_StringBuffer;
struct java_lang_Object;
struct java_lang_Class;

/*******************************************************************************
 * Class java/lang/String
 ******************************************************************************/

typedef struct java_lang_String java_lang_String;

#define classname_java_lang_String	"java/lang/String"

#define class_java_lang_String(env) \
	((struct java_lang_Class*)JRI_FindClass(env, classname_java_lang_String))

/*******************************************************************************
 * Public Methods
 ******************************************************************************/

#ifdef DEBUG

/*** public <init> ()V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new(JRIEnv* env, struct java_lang_Class* clazz);

/*** public <init> (Ljava/lang/String;)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_1(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_String *a);

/*** public <init> ([C)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_2(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a);

/*** public <init> ([CII)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_3(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c);

/*** public <init> ([BIII)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_4(JRIEnv* env, struct java_lang_Class* clazz, jbyteArray a, jint b, jint c, jint d);

/*** public <init> ([BI)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_5(JRIEnv* env, struct java_lang_Class* clazz, jbyteArray a, jint b);

/*** public <init> (Ljava/lang/StringBuffer;)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_6(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_StringBuffer *a);

/*** public length ()I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_length(JRIEnv* env, struct java_lang_String* self);

/*** public charAt (I)C ***/
extern JRI_PUBLIC_API(jchar)
java_lang_String_charAt(JRIEnv* env, struct java_lang_String* self, jint a);

/*** public getChars (II[CI)V ***/
extern JRI_PUBLIC_API(void)
java_lang_String_getChars(JRIEnv* env, struct java_lang_String* self, jint a, jint b, jcharArray c, jint d);

/*** public getBytes (II[BI)V ***/
extern JRI_PUBLIC_API(void)
java_lang_String_getBytes(JRIEnv* env, struct java_lang_String* self, jint a, jint b, jbyteArray c, jint d);

/*** public equals (Ljava/lang/Object;)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_equals(JRIEnv* env, struct java_lang_String* self, struct java_lang_Object *a);

/*** public equalsIgnoreCase (Ljava/lang/String;)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_equalsIgnoreCase(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public compareTo (Ljava/lang/String;)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_compareTo(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public regionMatches (ILjava/lang/String;II)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_regionMatches(JRIEnv* env, struct java_lang_String* self, jint a, struct java_lang_String *b, jint c, jint d);

/*** public regionMatches (ZILjava/lang/String;II)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_regionMatches_1(JRIEnv* env, struct java_lang_String* self, jbool a, jint b, struct java_lang_String *c, jint d, jint e);

/*** public startsWith (Ljava/lang/String;I)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_startsWith(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a, jint b);

/*** public startsWith (Ljava/lang/String;)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_startsWith_1(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public endsWith (Ljava/lang/String;)Z ***/
extern JRI_PUBLIC_API(jbool)
java_lang_String_endsWith(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public hashCode ()I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_hashCode(JRIEnv* env, struct java_lang_String* self);

/*** public indexOf (I)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_indexOf(JRIEnv* env, struct java_lang_String* self, jint a);

/*** public indexOf (II)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_indexOf_1(JRIEnv* env, struct java_lang_String* self, jint a, jint b);

/*** public lastIndexOf (I)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_lastIndexOf(JRIEnv* env, struct java_lang_String* self, jint a);

/*** public lastIndexOf (II)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_lastIndexOf_1(JRIEnv* env, struct java_lang_String* self, jint a, jint b);

/*** public indexOf (Ljava/lang/String;)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_indexOf_2(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public indexOf (Ljava/lang/String;I)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_indexOf_3(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a, jint b);

/*** public lastIndexOf (Ljava/lang/String;)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_lastIndexOf_2(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public lastIndexOf (Ljava/lang/String;I)I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_lastIndexOf_3(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a, jint b);

/*** public substring (I)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_substring(JRIEnv* env, struct java_lang_String* self, jint a);

/*** public substring (II)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_substring_1(JRIEnv* env, struct java_lang_String* self, jint a, jint b);

/*** public concat (Ljava/lang/String;)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_concat(JRIEnv* env, struct java_lang_String* self, struct java_lang_String *a);

/*** public replace (CC)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_replace(JRIEnv* env, struct java_lang_String* self, jchar a, jchar b);

/*** public toLowerCase ()Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_toLowerCase(JRIEnv* env, struct java_lang_String* self);

/*** public toUpperCase ()Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_toUpperCase(JRIEnv* env, struct java_lang_String* self);

/*** public trim ()Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_trim(JRIEnv* env, struct java_lang_String* self);

/*** public toString ()Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_toString(JRIEnv* env, struct java_lang_String* self);

/*** public toCharArray ()[C ***/
extern JRI_PUBLIC_API(jref)
java_lang_String_toCharArray(JRIEnv* env, struct java_lang_String* self);

/*** public static valueOf (Ljava/lang/Object;)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_Object *a);

/*** public static valueOf ([C)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_1(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a);

/*** public static valueOf ([CII)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_2(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c);

/*** public static copyValueOf ([CII)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_copyValueOf(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c);

/*** public static copyValueOf ([C)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_copyValueOf_1(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a);

/*** public static valueOf (Z)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_3(JRIEnv* env, struct java_lang_Class* clazz, jbool a);

/*** public static valueOf (C)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_4(JRIEnv* env, struct java_lang_Class* clazz, jchar a);

/*** public static valueOf (I)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_5(JRIEnv* env, struct java_lang_Class* clazz, jint a);

/*** public static valueOf (J)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_6(JRIEnv* env, struct java_lang_Class* clazz, jlong a);

/*** public static valueOf (F)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_7(JRIEnv* env, struct java_lang_Class* clazz, jfloat a);

/*** public static valueOf (D)Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_valueOf_8(JRIEnv* env, struct java_lang_Class* clazz, jdouble a);

/*** public intern ()Ljava/lang/String; ***/
extern JRI_PUBLIC_API(struct java_lang_String *)
java_lang_String_intern(JRIEnv* env, struct java_lang_String* self);

#else /* !DEBUG */

/*** public <init> ()V ***/
#define java_lang_String_new(env, clazz)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new))

/*** public <init> (Ljava/lang/String;)V ***/
#define java_lang_String_new_1(env, clazz, a)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_1, a))

/*** public <init> ([C)V ***/
#define java_lang_String_new_2(env, clazz, a)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_2, a))

/*** public <init> ([CII)V ***/
#define java_lang_String_new_3(env, clazz, a, b, c)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_3, a, b, c))

/*** public <init> ([BIII)V ***/
#define java_lang_String_new_4(env, clazz, a, b, c, d)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_4, a, b, c, d))

/*** public <init> ([BI)V ***/
#define java_lang_String_new_5(env, clazz, a, b)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_5, a, b))

/*** public <init> (Ljava/lang/StringBuffer;)V ***/
#define java_lang_String_new_6(env, clazz, a)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_6, a))

/*** public length ()I ***/
#define java_lang_String_length(env, obj) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_length))

/*** public charAt (I)C ***/
#define java_lang_String_charAt(env, obj, a) \
	((jchar)JRI_CallMethodChar(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_charAt, a))

/*** public getChars (II[CI)V ***/
#define java_lang_String_getChars(env, obj, a, b, c, d) \
	((void)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_getChars, a, b, c, d))

/*** public getBytes (II[BI)V ***/
#define java_lang_String_getBytes(env, obj, a, b, c, d) \
	((void)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_getBytes, a, b, c, d))

/*** public equals (Ljava/lang/Object;)Z ***/
#define java_lang_String_equals(env, obj, a) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_equals, a))

/*** public equalsIgnoreCase (Ljava/lang/String;)Z ***/
#define java_lang_String_equalsIgnoreCase(env, obj, a) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_equalsIgnoreCase, a))

/*** public compareTo (Ljava/lang/String;)I ***/
#define java_lang_String_compareTo(env, obj, a) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_compareTo, a))

/*** public regionMatches (ILjava/lang/String;II)Z ***/
#define java_lang_String_regionMatches(env, obj, a, b, c, d) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_regionMatches, a, b, c, d))

/*** public regionMatches (ZILjava/lang/String;II)Z ***/
#define java_lang_String_regionMatches_1(env, obj, a, b, c, d, e) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_regionMatches_1, a, b, c, d, e))

/*** public startsWith (Ljava/lang/String;I)Z ***/
#define java_lang_String_startsWith(env, obj, a, b) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_startsWith, a, b))

/*** public startsWith (Ljava/lang/String;)Z ***/
#define java_lang_String_startsWith_1(env, obj, a) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_startsWith_1, a))

/*** public endsWith (Ljava/lang/String;)Z ***/
#define java_lang_String_endsWith(env, obj, a) \
	((jbool)JRI_CallMethodBoolean(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_endsWith, a))

/*** public hashCode ()I ***/
#define java_lang_String_hashCode(env, obj) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_hashCode))

/*** public indexOf (I)I ***/
#define java_lang_String_indexOf(env, obj, a) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_indexOf, a))

/*** public indexOf (II)I ***/
#define java_lang_String_indexOf_1(env, obj, a, b) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_indexOf_1, a, b))

/*** public lastIndexOf (I)I ***/
#define java_lang_String_lastIndexOf(env, obj, a) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_lastIndexOf, a))

/*** public lastIndexOf (II)I ***/
#define java_lang_String_lastIndexOf_1(env, obj, a, b) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_lastIndexOf_1, a, b))

/*** public indexOf (Ljava/lang/String;)I ***/
#define java_lang_String_indexOf_2(env, obj, a) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_indexOf_2, a))

/*** public indexOf (Ljava/lang/String;I)I ***/
#define java_lang_String_indexOf_3(env, obj, a, b) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_indexOf_3, a, b))

/*** public lastIndexOf (Ljava/lang/String;)I ***/
#define java_lang_String_lastIndexOf_2(env, obj, a) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_lastIndexOf_2, a))

/*** public lastIndexOf (Ljava/lang/String;I)I ***/
#define java_lang_String_lastIndexOf_3(env, obj, a, b) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_lastIndexOf_3, a, b))

/*** public substring (I)Ljava/lang/String; ***/
#define java_lang_String_substring(env, obj, a) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_substring, a))

/*** public substring (II)Ljava/lang/String; ***/
#define java_lang_String_substring_1(env, obj, a, b) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_substring_1, a, b))

/*** public concat (Ljava/lang/String;)Ljava/lang/String; ***/
#define java_lang_String_concat(env, obj, a) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_concat, a))

/*** public replace (CC)Ljava/lang/String; ***/
#define java_lang_String_replace(env, obj, a, b) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_replace, a, b))

/*** public toLowerCase ()Ljava/lang/String; ***/
#define java_lang_String_toLowerCase(env, obj) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_toLowerCase))

/*** public toUpperCase ()Ljava/lang/String; ***/
#define java_lang_String_toUpperCase(env, obj) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_toUpperCase))

/*** public trim ()Ljava/lang/String; ***/
#define java_lang_String_trim(env, obj) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_trim))

/*** public toString ()Ljava/lang/String; ***/
#define java_lang_String_toString(env, obj) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_toString))

/*** public toCharArray ()[C ***/
#define java_lang_String_toCharArray(env, obj) \
	((jref)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_toCharArray))

/*** public static valueOf (Ljava/lang/Object;)Ljava/lang/String; ***/
#define java_lang_String_valueOf(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf, a))

/*** public static valueOf ([C)Ljava/lang/String; ***/
#define java_lang_String_valueOf_1(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_1, a))

/*** public static valueOf ([CII)Ljava/lang/String; ***/
#define java_lang_String_valueOf_2(env, clazz, a, b, c) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_2, a, b, c))

/*** public static copyValueOf ([CII)Ljava/lang/String; ***/
#define java_lang_String_copyValueOf(env, clazz, a, b, c) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_copyValueOf, a, b, c))

/*** public static copyValueOf ([C)Ljava/lang/String; ***/
#define java_lang_String_copyValueOf_1(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_copyValueOf_1, a))

/*** public static valueOf (Z)Ljava/lang/String; ***/
#define java_lang_String_valueOf_3(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_3, a))

/*** public static valueOf (C)Ljava/lang/String; ***/
#define java_lang_String_valueOf_4(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_4, a))

/*** public static valueOf (I)Ljava/lang/String; ***/
#define java_lang_String_valueOf_5(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_5, a))

/*** public static valueOf (J)Ljava/lang/String; ***/
#define java_lang_String_valueOf_6(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_6, a))

/*** public static valueOf (F)Ljava/lang/String; ***/
#define java_lang_String_valueOf_7(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_7, a))

/*** public static valueOf (D)Ljava/lang/String; ***/
#define java_lang_String_valueOf_8(env, clazz, a) \
	((struct java_lang_String *)JRI_CallStaticMethod(env)(env, JRI_CallStaticMethod_op, clazz, methodID_java_lang_String_valueOf_8, a))

/*** public intern ()Ljava/lang/String; ***/
#define java_lang_String_intern(env, obj) \
	((struct java_lang_String *)JRI_CallMethod(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_intern))

#endif /* !DEBUG*/

/*** public <init> ()V ***/
extern JRIMethodID FAR methodID_java_lang_String_new;
#define name_java_lang_String_new	"<init>"
#define sig_java_lang_String_new 	"()V"
#define use_java_lang_String_new(env, clazz)	\
	(methodID_java_lang_String_new =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new,	\
			sig_java_lang_String_new))
#define unuse_java_lang_String_new(env, clazz)	\
	(methodID_java_lang_String_new = JRIUninitialized)

/*** public <init> (Ljava/lang/String;)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_1;
#define name_java_lang_String_new_1	"<init>"
#define sig_java_lang_String_new_1 	"(Ljava/lang/String;)V"
#define use_java_lang_String_new_1(env, clazz)	\
	(methodID_java_lang_String_new_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_1,	\
			sig_java_lang_String_new_1))
#define unuse_java_lang_String_new_1(env, clazz)	\
	(methodID_java_lang_String_new_1 = JRIUninitialized)

/*** public <init> ([C)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_2;
#define name_java_lang_String_new_2	"<init>"
#define sig_java_lang_String_new_2 	"([C)V"
#define use_java_lang_String_new_2(env, clazz)	\
	(methodID_java_lang_String_new_2 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_2,	\
			sig_java_lang_String_new_2))
#define unuse_java_lang_String_new_2(env, clazz)	\
	(methodID_java_lang_String_new_2 = JRIUninitialized)

/*** public <init> ([CII)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_3;
#define name_java_lang_String_new_3	"<init>"
#define sig_java_lang_String_new_3 	"([CII)V"
#define use_java_lang_String_new_3(env, clazz)	\
	(methodID_java_lang_String_new_3 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_3,	\
			sig_java_lang_String_new_3))
#define unuse_java_lang_String_new_3(env, clazz)	\
	(methodID_java_lang_String_new_3 = JRIUninitialized)

/*** public <init> ([BIII)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_4;
#define name_java_lang_String_new_4	"<init>"
#define sig_java_lang_String_new_4 	"([BIII)V"
#define use_java_lang_String_new_4(env, clazz)	\
	(methodID_java_lang_String_new_4 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_4,	\
			sig_java_lang_String_new_4))
#define unuse_java_lang_String_new_4(env, clazz)	\
	(methodID_java_lang_String_new_4 = JRIUninitialized)

/*** public <init> ([BI)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_5;
#define name_java_lang_String_new_5	"<init>"
#define sig_java_lang_String_new_5 	"([BI)V"
#define use_java_lang_String_new_5(env, clazz)	\
	(methodID_java_lang_String_new_5 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_5,	\
			sig_java_lang_String_new_5))
#define unuse_java_lang_String_new_5(env, clazz)	\
	(methodID_java_lang_String_new_5 = JRIUninitialized)

/*** public <init> (Ljava/lang/StringBuffer;)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_6;
#define name_java_lang_String_new_6	"<init>"
#define sig_java_lang_String_new_6 	"(Ljava/lang/StringBuffer;)V"
#define use_java_lang_String_new_6(env, clazz)	\
	(methodID_java_lang_String_new_6 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_6,	\
			sig_java_lang_String_new_6))
#define unuse_java_lang_String_new_6(env, clazz)	\
	(methodID_java_lang_String_new_6 = JRIUninitialized)

/*** public length ()I ***/
extern JRIMethodID FAR methodID_java_lang_String_length;
#define name_java_lang_String_length	"length"
#define sig_java_lang_String_length 	"()I"
#define use_java_lang_String_length(env, clazz)	\
	(methodID_java_lang_String_length =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_length,	\
			sig_java_lang_String_length))
#define unuse_java_lang_String_length(env, clazz)	\
	(methodID_java_lang_String_length = JRIUninitialized)

/*** public charAt (I)C ***/
extern JRIMethodID FAR methodID_java_lang_String_charAt;
#define name_java_lang_String_charAt	"charAt"
#define sig_java_lang_String_charAt 	"(I)C"
#define use_java_lang_String_charAt(env, clazz)	\
	(methodID_java_lang_String_charAt =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_charAt,	\
			sig_java_lang_String_charAt))
#define unuse_java_lang_String_charAt(env, clazz)	\
	(methodID_java_lang_String_charAt = JRIUninitialized)

/*** public getChars (II[CI)V ***/
extern JRIMethodID FAR methodID_java_lang_String_getChars;
#define name_java_lang_String_getChars	"getChars"
#define sig_java_lang_String_getChars 	"(II[CI)V"
#define use_java_lang_String_getChars(env, clazz)	\
	(methodID_java_lang_String_getChars =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_getChars,	\
			sig_java_lang_String_getChars))
#define unuse_java_lang_String_getChars(env, clazz)	\
	(methodID_java_lang_String_getChars = JRIUninitialized)

/*** public getBytes (II[BI)V ***/
extern JRIMethodID FAR methodID_java_lang_String_getBytes;
#define name_java_lang_String_getBytes	"getBytes"
#define sig_java_lang_String_getBytes 	"(II[BI)V"
#define use_java_lang_String_getBytes(env, clazz)	\
	(methodID_java_lang_String_getBytes =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_getBytes,	\
			sig_java_lang_String_getBytes))
#define unuse_java_lang_String_getBytes(env, clazz)	\
	(methodID_java_lang_String_getBytes = JRIUninitialized)

/*** public equals (Ljava/lang/Object;)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_equals;
#define name_java_lang_String_equals	"equals"
#define sig_java_lang_String_equals 	"(Ljava/lang/Object;)Z"
#define use_java_lang_String_equals(env, clazz)	\
	(methodID_java_lang_String_equals =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_equals,	\
			sig_java_lang_String_equals))
#define unuse_java_lang_String_equals(env, clazz)	\
	(methodID_java_lang_String_equals = JRIUninitialized)

/*** public equalsIgnoreCase (Ljava/lang/String;)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_equalsIgnoreCase;
#define name_java_lang_String_equalsIgnoreCase	"equalsIgnoreCase"
#define sig_java_lang_String_equalsIgnoreCase 	"(Ljava/lang/String;)Z"
#define use_java_lang_String_equalsIgnoreCase(env, clazz)	\
	(methodID_java_lang_String_equalsIgnoreCase =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_equalsIgnoreCase,	\
			sig_java_lang_String_equalsIgnoreCase))
#define unuse_java_lang_String_equalsIgnoreCase(env, clazz)	\
	(methodID_java_lang_String_equalsIgnoreCase = JRIUninitialized)

/*** public compareTo (Ljava/lang/String;)I ***/
extern JRIMethodID FAR methodID_java_lang_String_compareTo;
#define name_java_lang_String_compareTo	"compareTo"
#define sig_java_lang_String_compareTo 	"(Ljava/lang/String;)I"
#define use_java_lang_String_compareTo(env, clazz)	\
	(methodID_java_lang_String_compareTo =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_compareTo,	\
			sig_java_lang_String_compareTo))
#define unuse_java_lang_String_compareTo(env, clazz)	\
	(methodID_java_lang_String_compareTo = JRIUninitialized)

/*** public regionMatches (ILjava/lang/String;II)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_regionMatches;
#define name_java_lang_String_regionMatches	"regionMatches"
#define sig_java_lang_String_regionMatches 	"(ILjava/lang/String;II)Z"
#define use_java_lang_String_regionMatches(env, clazz)	\
	(methodID_java_lang_String_regionMatches =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_regionMatches,	\
			sig_java_lang_String_regionMatches))
#define unuse_java_lang_String_regionMatches(env, clazz)	\
	(methodID_java_lang_String_regionMatches = JRIUninitialized)

/*** public regionMatches (ZILjava/lang/String;II)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_regionMatches_1;
#define name_java_lang_String_regionMatches_1	"regionMatches"
#define sig_java_lang_String_regionMatches_1 	"(ZILjava/lang/String;II)Z"
#define use_java_lang_String_regionMatches_1(env, clazz)	\
	(methodID_java_lang_String_regionMatches_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_regionMatches_1,	\
			sig_java_lang_String_regionMatches_1))
#define unuse_java_lang_String_regionMatches_1(env, clazz)	\
	(methodID_java_lang_String_regionMatches_1 = JRIUninitialized)

/*** public startsWith (Ljava/lang/String;I)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_startsWith;
#define name_java_lang_String_startsWith	"startsWith"
#define sig_java_lang_String_startsWith 	"(Ljava/lang/String;I)Z"
#define use_java_lang_String_startsWith(env, clazz)	\
	(methodID_java_lang_String_startsWith =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_startsWith,	\
			sig_java_lang_String_startsWith))
#define unuse_java_lang_String_startsWith(env, clazz)	\
	(methodID_java_lang_String_startsWith = JRIUninitialized)

/*** public startsWith (Ljava/lang/String;)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_startsWith_1;
#define name_java_lang_String_startsWith_1	"startsWith"
#define sig_java_lang_String_startsWith_1 	"(Ljava/lang/String;)Z"
#define use_java_lang_String_startsWith_1(env, clazz)	\
	(methodID_java_lang_String_startsWith_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_startsWith_1,	\
			sig_java_lang_String_startsWith_1))
#define unuse_java_lang_String_startsWith_1(env, clazz)	\
	(methodID_java_lang_String_startsWith_1 = JRIUninitialized)

/*** public endsWith (Ljava/lang/String;)Z ***/
extern JRIMethodID FAR methodID_java_lang_String_endsWith;
#define name_java_lang_String_endsWith	"endsWith"
#define sig_java_lang_String_endsWith 	"(Ljava/lang/String;)Z"
#define use_java_lang_String_endsWith(env, clazz)	\
	(methodID_java_lang_String_endsWith =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_endsWith,	\
			sig_java_lang_String_endsWith))
#define unuse_java_lang_String_endsWith(env, clazz)	\
	(methodID_java_lang_String_endsWith = JRIUninitialized)

/*** public hashCode ()I ***/
extern JRIMethodID FAR methodID_java_lang_String_hashCode;
#define name_java_lang_String_hashCode	"hashCode"
#define sig_java_lang_String_hashCode 	"()I"
#define use_java_lang_String_hashCode(env, clazz)	\
	(methodID_java_lang_String_hashCode =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_hashCode,	\
			sig_java_lang_String_hashCode))
#define unuse_java_lang_String_hashCode(env, clazz)	\
	(methodID_java_lang_String_hashCode = JRIUninitialized)

/*** public indexOf (I)I ***/
extern JRIMethodID FAR methodID_java_lang_String_indexOf;
#define name_java_lang_String_indexOf	"indexOf"
#define sig_java_lang_String_indexOf 	"(I)I"
#define use_java_lang_String_indexOf(env, clazz)	\
	(methodID_java_lang_String_indexOf =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_indexOf,	\
			sig_java_lang_String_indexOf))
#define unuse_java_lang_String_indexOf(env, clazz)	\
	(methodID_java_lang_String_indexOf = JRIUninitialized)

/*** public indexOf (II)I ***/
extern JRIMethodID FAR methodID_java_lang_String_indexOf_1;
#define name_java_lang_String_indexOf_1	"indexOf"
#define sig_java_lang_String_indexOf_1 	"(II)I"
#define use_java_lang_String_indexOf_1(env, clazz)	\
	(methodID_java_lang_String_indexOf_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_indexOf_1,	\
			sig_java_lang_String_indexOf_1))
#define unuse_java_lang_String_indexOf_1(env, clazz)	\
	(methodID_java_lang_String_indexOf_1 = JRIUninitialized)

/*** public lastIndexOf (I)I ***/
extern JRIMethodID FAR methodID_java_lang_String_lastIndexOf;
#define name_java_lang_String_lastIndexOf	"lastIndexOf"
#define sig_java_lang_String_lastIndexOf 	"(I)I"
#define use_java_lang_String_lastIndexOf(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_lastIndexOf,	\
			sig_java_lang_String_lastIndexOf))
#define unuse_java_lang_String_lastIndexOf(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf = JRIUninitialized)

/*** public lastIndexOf (II)I ***/
extern JRIMethodID FAR methodID_java_lang_String_lastIndexOf_1;
#define name_java_lang_String_lastIndexOf_1	"lastIndexOf"
#define sig_java_lang_String_lastIndexOf_1 	"(II)I"
#define use_java_lang_String_lastIndexOf_1(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_lastIndexOf_1,	\
			sig_java_lang_String_lastIndexOf_1))
#define unuse_java_lang_String_lastIndexOf_1(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_1 = JRIUninitialized)

/*** public indexOf (Ljava/lang/String;)I ***/
extern JRIMethodID FAR methodID_java_lang_String_indexOf_2;
#define name_java_lang_String_indexOf_2	"indexOf"
#define sig_java_lang_String_indexOf_2 	"(Ljava/lang/String;)I"
#define use_java_lang_String_indexOf_2(env, clazz)	\
	(methodID_java_lang_String_indexOf_2 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_indexOf_2,	\
			sig_java_lang_String_indexOf_2))
#define unuse_java_lang_String_indexOf_2(env, clazz)	\
	(methodID_java_lang_String_indexOf_2 = JRIUninitialized)

/*** public indexOf (Ljava/lang/String;I)I ***/
extern JRIMethodID FAR methodID_java_lang_String_indexOf_3;
#define name_java_lang_String_indexOf_3	"indexOf"
#define sig_java_lang_String_indexOf_3 	"(Ljava/lang/String;I)I"
#define use_java_lang_String_indexOf_3(env, clazz)	\
	(methodID_java_lang_String_indexOf_3 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_indexOf_3,	\
			sig_java_lang_String_indexOf_3))
#define unuse_java_lang_String_indexOf_3(env, clazz)	\
	(methodID_java_lang_String_indexOf_3 = JRIUninitialized)

/*** public lastIndexOf (Ljava/lang/String;)I ***/
extern JRIMethodID FAR methodID_java_lang_String_lastIndexOf_2;
#define name_java_lang_String_lastIndexOf_2	"lastIndexOf"
#define sig_java_lang_String_lastIndexOf_2 	"(Ljava/lang/String;)I"
#define use_java_lang_String_lastIndexOf_2(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_2 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_lastIndexOf_2,	\
			sig_java_lang_String_lastIndexOf_2))
#define unuse_java_lang_String_lastIndexOf_2(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_2 = JRIUninitialized)

/*** public lastIndexOf (Ljava/lang/String;I)I ***/
extern JRIMethodID FAR methodID_java_lang_String_lastIndexOf_3;
#define name_java_lang_String_lastIndexOf_3	"lastIndexOf"
#define sig_java_lang_String_lastIndexOf_3 	"(Ljava/lang/String;I)I"
#define use_java_lang_String_lastIndexOf_3(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_3 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_lastIndexOf_3,	\
			sig_java_lang_String_lastIndexOf_3))
#define unuse_java_lang_String_lastIndexOf_3(env, clazz)	\
	(methodID_java_lang_String_lastIndexOf_3 = JRIUninitialized)

/*** public substring (I)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_substring;
#define name_java_lang_String_substring	"substring"
#define sig_java_lang_String_substring 	"(I)Ljava/lang/String;"
#define use_java_lang_String_substring(env, clazz)	\
	(methodID_java_lang_String_substring =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_substring,	\
			sig_java_lang_String_substring))
#define unuse_java_lang_String_substring(env, clazz)	\
	(methodID_java_lang_String_substring = JRIUninitialized)

/*** public substring (II)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_substring_1;
#define name_java_lang_String_substring_1	"substring"
#define sig_java_lang_String_substring_1 	"(II)Ljava/lang/String;"
#define use_java_lang_String_substring_1(env, clazz)	\
	(methodID_java_lang_String_substring_1 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_substring_1,	\
			sig_java_lang_String_substring_1))
#define unuse_java_lang_String_substring_1(env, clazz)	\
	(methodID_java_lang_String_substring_1 = JRIUninitialized)

/*** public concat (Ljava/lang/String;)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_concat;
#define name_java_lang_String_concat	"concat"
#define sig_java_lang_String_concat 	"(Ljava/lang/String;)Ljava/lang/String;"
#define use_java_lang_String_concat(env, clazz)	\
	(methodID_java_lang_String_concat =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_concat,	\
			sig_java_lang_String_concat))
#define unuse_java_lang_String_concat(env, clazz)	\
	(methodID_java_lang_String_concat = JRIUninitialized)

/*** public replace (CC)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_replace;
#define name_java_lang_String_replace	"replace"
#define sig_java_lang_String_replace 	"(CC)Ljava/lang/String;"
#define use_java_lang_String_replace(env, clazz)	\
	(methodID_java_lang_String_replace =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_replace,	\
			sig_java_lang_String_replace))
#define unuse_java_lang_String_replace(env, clazz)	\
	(methodID_java_lang_String_replace = JRIUninitialized)

/*** public toLowerCase ()Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_toLowerCase;
#define name_java_lang_String_toLowerCase	"toLowerCase"
#define sig_java_lang_String_toLowerCase 	"()Ljava/lang/String;"
#define use_java_lang_String_toLowerCase(env, clazz)	\
	(methodID_java_lang_String_toLowerCase =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_toLowerCase,	\
			sig_java_lang_String_toLowerCase))
#define unuse_java_lang_String_toLowerCase(env, clazz)	\
	(methodID_java_lang_String_toLowerCase = JRIUninitialized)

/*** public toUpperCase ()Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_toUpperCase;
#define name_java_lang_String_toUpperCase	"toUpperCase"
#define sig_java_lang_String_toUpperCase 	"()Ljava/lang/String;"
#define use_java_lang_String_toUpperCase(env, clazz)	\
	(methodID_java_lang_String_toUpperCase =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_toUpperCase,	\
			sig_java_lang_String_toUpperCase))
#define unuse_java_lang_String_toUpperCase(env, clazz)	\
	(methodID_java_lang_String_toUpperCase = JRIUninitialized)

/*** public trim ()Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_trim;
#define name_java_lang_String_trim	"trim"
#define sig_java_lang_String_trim 	"()Ljava/lang/String;"
#define use_java_lang_String_trim(env, clazz)	\
	(methodID_java_lang_String_trim =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_trim,	\
			sig_java_lang_String_trim))
#define unuse_java_lang_String_trim(env, clazz)	\
	(methodID_java_lang_String_trim = JRIUninitialized)

/*** public toString ()Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_toString;
#define name_java_lang_String_toString	"toString"
#define sig_java_lang_String_toString 	"()Ljava/lang/String;"
#define use_java_lang_String_toString(env, clazz)	\
	(methodID_java_lang_String_toString =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_toString,	\
			sig_java_lang_String_toString))
#define unuse_java_lang_String_toString(env, clazz)	\
	(methodID_java_lang_String_toString = JRIUninitialized)

/*** public toCharArray ()[C ***/
extern JRIMethodID FAR methodID_java_lang_String_toCharArray;
#define name_java_lang_String_toCharArray	"toCharArray"
#define sig_java_lang_String_toCharArray 	"()[C"
#define use_java_lang_String_toCharArray(env, clazz)	\
	(methodID_java_lang_String_toCharArray =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_toCharArray,	\
			sig_java_lang_String_toCharArray))
#define unuse_java_lang_String_toCharArray(env, clazz)	\
	(methodID_java_lang_String_toCharArray = JRIUninitialized)

/*** public static valueOf (Ljava/lang/Object;)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf;
#define name_java_lang_String_valueOf	"valueOf"
#define sig_java_lang_String_valueOf 	"(Ljava/lang/Object;)Ljava/lang/String;"
#define use_java_lang_String_valueOf(env, clazz)	\
	(methodID_java_lang_String_valueOf =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf,	\
			sig_java_lang_String_valueOf))
#define unuse_java_lang_String_valueOf(env, clazz)	\
	(methodID_java_lang_String_valueOf = JRIUninitialized)

/*** public static valueOf ([C)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_1;
#define name_java_lang_String_valueOf_1	"valueOf"
#define sig_java_lang_String_valueOf_1 	"([C)Ljava/lang/String;"
#define use_java_lang_String_valueOf_1(env, clazz)	\
	(methodID_java_lang_String_valueOf_1 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_1,	\
			sig_java_lang_String_valueOf_1))
#define unuse_java_lang_String_valueOf_1(env, clazz)	\
	(methodID_java_lang_String_valueOf_1 = JRIUninitialized)

/*** public static valueOf ([CII)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_2;
#define name_java_lang_String_valueOf_2	"valueOf"
#define sig_java_lang_String_valueOf_2 	"([CII)Ljava/lang/String;"
#define use_java_lang_String_valueOf_2(env, clazz)	\
	(methodID_java_lang_String_valueOf_2 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_2,	\
			sig_java_lang_String_valueOf_2))
#define unuse_java_lang_String_valueOf_2(env, clazz)	\
	(methodID_java_lang_String_valueOf_2 = JRIUninitialized)

/*** public static copyValueOf ([CII)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_copyValueOf;
#define name_java_lang_String_copyValueOf	"copyValueOf"
#define sig_java_lang_String_copyValueOf 	"([CII)Ljava/lang/String;"
#define use_java_lang_String_copyValueOf(env, clazz)	\
	(methodID_java_lang_String_copyValueOf =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_copyValueOf,	\
			sig_java_lang_String_copyValueOf))
#define unuse_java_lang_String_copyValueOf(env, clazz)	\
	(methodID_java_lang_String_copyValueOf = JRIUninitialized)

/*** public static copyValueOf ([C)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_copyValueOf_1;
#define name_java_lang_String_copyValueOf_1	"copyValueOf"
#define sig_java_lang_String_copyValueOf_1 	"([C)Ljava/lang/String;"
#define use_java_lang_String_copyValueOf_1(env, clazz)	\
	(methodID_java_lang_String_copyValueOf_1 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_copyValueOf_1,	\
			sig_java_lang_String_copyValueOf_1))
#define unuse_java_lang_String_copyValueOf_1(env, clazz)	\
	(methodID_java_lang_String_copyValueOf_1 = JRIUninitialized)

/*** public static valueOf (Z)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_3;
#define name_java_lang_String_valueOf_3	"valueOf"
#define sig_java_lang_String_valueOf_3 	"(Z)Ljava/lang/String;"
#define use_java_lang_String_valueOf_3(env, clazz)	\
	(methodID_java_lang_String_valueOf_3 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_3,	\
			sig_java_lang_String_valueOf_3))
#define unuse_java_lang_String_valueOf_3(env, clazz)	\
	(methodID_java_lang_String_valueOf_3 = JRIUninitialized)

/*** public static valueOf (C)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_4;
#define name_java_lang_String_valueOf_4	"valueOf"
#define sig_java_lang_String_valueOf_4 	"(C)Ljava/lang/String;"
#define use_java_lang_String_valueOf_4(env, clazz)	\
	(methodID_java_lang_String_valueOf_4 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_4,	\
			sig_java_lang_String_valueOf_4))
#define unuse_java_lang_String_valueOf_4(env, clazz)	\
	(methodID_java_lang_String_valueOf_4 = JRIUninitialized)

/*** public static valueOf (I)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_5;
#define name_java_lang_String_valueOf_5	"valueOf"
#define sig_java_lang_String_valueOf_5 	"(I)Ljava/lang/String;"
#define use_java_lang_String_valueOf_5(env, clazz)	\
	(methodID_java_lang_String_valueOf_5 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_5,	\
			sig_java_lang_String_valueOf_5))
#define unuse_java_lang_String_valueOf_5(env, clazz)	\
	(methodID_java_lang_String_valueOf_5 = JRIUninitialized)

/*** public static valueOf (J)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_6;
#define name_java_lang_String_valueOf_6	"valueOf"
#define sig_java_lang_String_valueOf_6 	"(J)Ljava/lang/String;"
#define use_java_lang_String_valueOf_6(env, clazz)	\
	(methodID_java_lang_String_valueOf_6 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_6,	\
			sig_java_lang_String_valueOf_6))
#define unuse_java_lang_String_valueOf_6(env, clazz)	\
	(methodID_java_lang_String_valueOf_6 = JRIUninitialized)

/*** public static valueOf (F)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_7;
#define name_java_lang_String_valueOf_7	"valueOf"
#define sig_java_lang_String_valueOf_7 	"(F)Ljava/lang/String;"
#define use_java_lang_String_valueOf_7(env, clazz)	\
	(methodID_java_lang_String_valueOf_7 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_7,	\
			sig_java_lang_String_valueOf_7))
#define unuse_java_lang_String_valueOf_7(env, clazz)	\
	(methodID_java_lang_String_valueOf_7 = JRIUninitialized)

/*** public static valueOf (D)Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_valueOf_8;
#define name_java_lang_String_valueOf_8	"valueOf"
#define sig_java_lang_String_valueOf_8 	"(D)Ljava/lang/String;"
#define use_java_lang_String_valueOf_8(env, clazz)	\
	(methodID_java_lang_String_valueOf_8 =	\
		JRI_GetStaticMethodID(env, clazz,	\
			name_java_lang_String_valueOf_8,	\
			sig_java_lang_String_valueOf_8))
#define unuse_java_lang_String_valueOf_8(env, clazz)	\
	(methodID_java_lang_String_valueOf_8 = JRIUninitialized)

/*** public intern ()Ljava/lang/String; ***/
extern JRIMethodID FAR methodID_java_lang_String_intern;
#define name_java_lang_String_intern	"intern"
#define sig_java_lang_String_intern 	"()Ljava/lang/String;"
#define use_java_lang_String_intern(env, clazz)	\
	(methodID_java_lang_String_intern =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_intern,	\
			sig_java_lang_String_intern))
#define unuse_java_lang_String_intern(env, clazz)	\
	(methodID_java_lang_String_intern = JRIUninitialized)

/*******************************************************************************
 * IMPLEMENTATION SECTION: 
 * Define the IMPLEMENT_java_lang_String symbol 
 * if you intend to implement the native methods of this class. This 
 * symbol makes the private and protected methods available. You should 
 * also call the register_java_lang_String routine 
 * to make your native methods available.
 ******************************************************************************/

extern JRI_PUBLIC_API(struct java_lang_Class*)
use_java_lang_String(JRIEnv* env);

extern JRI_PUBLIC_API(void)
unuse_java_lang_String(JRIEnv* env);

extern JRI_PUBLIC_API(struct java_lang_Class*)
register_java_lang_String(JRIEnv* env);

extern JRI_PUBLIC_API(void)
unregister_java_lang_String(JRIEnv* env);

#ifdef IMPLEMENT_java_lang_String

/*******************************************************************************
 * Implementation Field Accessors: 
 * You should only use these from within the native method definitions.
 ******************************************************************************/

#ifdef DEBUG

/*** private value [C ***/
extern JRI_PUBLIC_API(jref)
get_java_lang_String_value(JRIEnv* env, java_lang_String* obj);
extern JRI_PUBLIC_API(void)
set_java_lang_String_value(JRIEnv* env, java_lang_String* obj, jref v);

/*** private offset I ***/
extern JRI_PUBLIC_API(jint)
get_java_lang_String_offset(JRIEnv* env, java_lang_String* obj);
extern JRI_PUBLIC_API(void)
set_java_lang_String_offset(JRIEnv* env, java_lang_String* obj, jint v);

/*** private count I ***/
extern JRI_PUBLIC_API(jint)
get_java_lang_String_count(JRIEnv* env, java_lang_String* obj);
extern JRI_PUBLIC_API(void)
set_java_lang_String_count(JRIEnv* env, java_lang_String* obj, jint v);

/*** private static InternSet Ljava/util/Hashtable; ***/
extern JRI_PUBLIC_API(struct java_util_Hashtable *)
get_java_lang_String_InternSet(JRIEnv* env, struct java_lang_Class* clazz);
extern JRI_PUBLIC_API(void)
set_java_lang_String_InternSet(JRIEnv* env, struct java_lang_Class* clazz, struct java_util_Hashtable * v);

#else /* !DEBUG */

/*** private value [C ***/
#define get_java_lang_String_value(env, obj) \
	((jref)JRI_GetField(env, obj, fieldID_java_lang_String_value))
#define set_java_lang_String_value(env, obj, v) \
	JRI_SetField(env, obj, fieldID_java_lang_String_value, v)

/*** private offset I ***/
#define get_java_lang_String_offset(env, obj) \
	(JRI_GetFieldInt(env, obj, fieldID_java_lang_String_offset))
#define set_java_lang_String_offset(env, obj, v) \
	JRI_SetFieldInt(env, obj, fieldID_java_lang_String_offset, v)

/*** private count I ***/
#define get_java_lang_String_count(env, obj) \
	(JRI_GetFieldInt(env, obj, fieldID_java_lang_String_count))
#define set_java_lang_String_count(env, obj, v) \
	JRI_SetFieldInt(env, obj, fieldID_java_lang_String_count, v)

/*** private static InternSet Ljava/util/Hashtable; ***/
#define get_java_lang_String_InternSet(env, clazz) \
	((struct java_util_Hashtable *)JRI_GetStaticField(env, clazz, fieldID_java_lang_String_InternSet))
#define set_java_lang_String_InternSet(env, clazz, v) \
	JRI_SetStaticField(env, clazz, fieldID_java_lang_String_InternSet, v)

#endif /* !DEBUG*/

extern JRIFieldID FAR fieldID_java_lang_String_value;
#define name_java_lang_String_value	"value"
#define sig_java_lang_String_value 	"[C"
#define use_java_lang_String_value(env, clazz)	\
	(fieldID_java_lang_String_value =	\
		JRI_GetFieldID(env, clazz,	\
			name_java_lang_String_value,	\
			sig_java_lang_String_value))
#define unuse_java_lang_String_value(env, clazz)	\
		(fieldID_java_lang_String_value = JRIUninitialized)

extern JRIFieldID FAR fieldID_java_lang_String_offset;
#define name_java_lang_String_offset	"offset"
#define sig_java_lang_String_offset 	"I"
#define use_java_lang_String_offset(env, clazz)	\
	(fieldID_java_lang_String_offset =	\
		JRI_GetFieldID(env, clazz,	\
			name_java_lang_String_offset,	\
			sig_java_lang_String_offset))
#define unuse_java_lang_String_offset(env, clazz)	\
		(fieldID_java_lang_String_offset = JRIUninitialized)

extern JRIFieldID FAR fieldID_java_lang_String_count;
#define name_java_lang_String_count	"count"
#define sig_java_lang_String_count 	"I"
#define use_java_lang_String_count(env, clazz)	\
	(fieldID_java_lang_String_count =	\
		JRI_GetFieldID(env, clazz,	\
			name_java_lang_String_count,	\
			sig_java_lang_String_count))
#define unuse_java_lang_String_count(env, clazz)	\
		(fieldID_java_lang_String_count = JRIUninitialized)

extern JRIFieldID FAR fieldID_java_lang_String_InternSet;
#define name_java_lang_String_InternSet	"InternSet"
#define sig_java_lang_String_InternSet 	"Ljava/util/Hashtable;"
#define use_java_lang_String_InternSet(env, clazz)	\
	(fieldID_java_lang_String_InternSet =	\
		JRI_GetStaticFieldID(env, clazz,	\
			name_java_lang_String_InternSet,	\
			sig_java_lang_String_InternSet))
#define unuse_java_lang_String_InternSet(env, clazz)	\
		(fieldID_java_lang_String_InternSet = JRIUninitialized)

/*******************************************************************************
 * Implementation Methods: 
 * You should only use these from within the native method definitions.
 ******************************************************************************/

#ifdef DEBUG

/*** private <init> (II[C)V ***/
extern JRI_PUBLIC_API(struct java_lang_String*)
java_lang_String_new_7(JRIEnv* env, struct java_lang_Class* clazz, jint a, jint b, jcharArray c);

/*** utfLength ()I ***/
extern JRI_PUBLIC_API(jint)
java_lang_String_utfLength(JRIEnv* env, struct java_lang_String* self);

#else /* !DEBUG */

/*** private <init> (II[C)V ***/
#define java_lang_String_new_7(env, clazz, a, b, c)	\
	((struct java_lang_String*)JRI_NewObject(env)(env, JRI_NewObject_op, clazz, methodID_java_lang_String_new_7, a, b, c))

/*** utfLength ()I ***/
#define java_lang_String_utfLength(env, obj) \
	((jint)JRI_CallMethodInt(env)(env, JRI_CallMethod_op, obj, methodID_java_lang_String_utfLength))

#endif /* !DEBUG*/

/*** private <init> (II[C)V ***/
extern JRIMethodID FAR methodID_java_lang_String_new_7;
#define name_java_lang_String_new_7	"<init>"
#define sig_java_lang_String_new_7 	"(II[C)V"
#define use_java_lang_String_new_7(env, clazz)	\
	(methodID_java_lang_String_new_7 =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_new_7,	\
			sig_java_lang_String_new_7))
#define unuse_java_lang_String_new_7(env, clazz)	\
	(methodID_java_lang_String_new_7 = JRIUninitialized)

/*** utfLength ()I ***/
extern JRIMethodID FAR methodID_java_lang_String_utfLength;
#define name_java_lang_String_utfLength	"utfLength"
#define sig_java_lang_String_utfLength 	"()I"
#define use_java_lang_String_utfLength(env, clazz)	\
	(methodID_java_lang_String_utfLength =	\
		JRI_GetMethodID(env, clazz,	\
			name_java_lang_String_utfLength,	\
			sig_java_lang_String_utfLength))
#define unuse_java_lang_String_utfLength(env, clazz)	\
	(methodID_java_lang_String_utfLength = JRIUninitialized)

#endif /* IMPLEMENT_java_lang_String */

#ifdef __cplusplus
} /* extern "C" */

/*******************************************************************************
 * C++ Definitions
 ******************************************************************************/

#include "java_lang_Object.h"

struct java_lang_String : public java_lang_Object {

	static struct java_lang_Class* _use(JRIEnv* env) {
		return use_java_lang_String(env);
	}

	static void _unuse(JRIEnv* env) {
		unuse_java_lang_String(env);
	}

	static struct java_lang_Class* _register(JRIEnv* env) {
		return register_java_lang_String(env);
	}

	static void _unregister(JRIEnv* env) {
		unregister_java_lang_String(env);
	}

	static struct java_lang_Class* _class(JRIEnv* env) {
		return class_java_lang_String(env);
	}

	/* Public Methods */
	/*** public <init> ()V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz) {
		return java_lang_String_new(env, clazz);
	}

	/*** public <init> (Ljava/lang/String;)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_String *a) {
		return java_lang_String_new_1(env, clazz, a);
	}

	/*** public <init> ([C)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a) {
		return java_lang_String_new_2(env, clazz, a);
	}

	/*** public <init> ([CII)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c) {
		return java_lang_String_new_3(env, clazz, a, b, c);
	}

	/*** public <init> ([BIII)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, jbyteArray a, jint b, jint c, jint d) {
		return java_lang_String_new_4(env, clazz, a, b, c, d);
	}

	/*** public <init> ([BI)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, jbyteArray a, jint b) {
		return java_lang_String_new_5(env, clazz, a, b);
	}

	/*** public <init> (Ljava/lang/StringBuffer;)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_StringBuffer *a) {
		return java_lang_String_new_6(env, clazz, a);
	}

	/*** public length ()I ***/
	jint length(JRIEnv* env) {
		return java_lang_String_length(env, this);
	}

	/*** public charAt (I)C ***/
	jchar charAt(JRIEnv* env, jint a) {
		return java_lang_String_charAt(env, this, a);
	}

	/*** public getChars (II[CI)V ***/
	void getChars(JRIEnv* env, jint a, jint b, jcharArray c, jint d) {
		java_lang_String_getChars(env, this, a, b, c, d);
	}

	/*** public getBytes (II[BI)V ***/
	void getBytes(JRIEnv* env, jint a, jint b, jbyteArray c, jint d) {
		java_lang_String_getBytes(env, this, a, b, c, d);
	}

	/*** public equals (Ljava/lang/Object;)Z ***/
	jbool equals(JRIEnv* env, struct java_lang_Object *a) {
		return java_lang_String_equals(env, this, a);
	}

	/*** public equalsIgnoreCase (Ljava/lang/String;)Z ***/
	jbool equalsIgnoreCase(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_equalsIgnoreCase(env, this, a);
	}

	/*** public compareTo (Ljava/lang/String;)I ***/
	jint compareTo(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_compareTo(env, this, a);
	}

	/*** public regionMatches (ILjava/lang/String;II)Z ***/
	jbool regionMatches(JRIEnv* env, jint a, struct java_lang_String *b, jint c, jint d) {
		return java_lang_String_regionMatches(env, this, a, b, c, d);
	}

	/*** public regionMatches (ZILjava/lang/String;II)Z ***/
	jbool regionMatches(JRIEnv* env, jbool a, jint b, struct java_lang_String *c, jint d, jint e) {
		return java_lang_String_regionMatches_1(env, this, a, b, c, d, e);
	}

	/*** public startsWith (Ljava/lang/String;I)Z ***/
	jbool startsWith(JRIEnv* env, struct java_lang_String *a, jint b) {
		return java_lang_String_startsWith(env, this, a, b);
	}

	/*** public startsWith (Ljava/lang/String;)Z ***/
	jbool startsWith(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_startsWith_1(env, this, a);
	}

	/*** public endsWith (Ljava/lang/String;)Z ***/
	jbool endsWith(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_endsWith(env, this, a);
	}

	/*** public hashCode ()I ***/
	jint hashCode(JRIEnv* env) {
		return java_lang_String_hashCode(env, this);
	}

	/*** public indexOf (I)I ***/
	jint indexOf(JRIEnv* env, jint a) {
		return java_lang_String_indexOf(env, this, a);
	}

	/*** public indexOf (II)I ***/
	jint indexOf(JRIEnv* env, jint a, jint b) {
		return java_lang_String_indexOf_1(env, this, a, b);
	}

	/*** public lastIndexOf (I)I ***/
	jint lastIndexOf(JRIEnv* env, jint a) {
		return java_lang_String_lastIndexOf(env, this, a);
	}

	/*** public lastIndexOf (II)I ***/
	jint lastIndexOf(JRIEnv* env, jint a, jint b) {
		return java_lang_String_lastIndexOf_1(env, this, a, b);
	}

	/*** public indexOf (Ljava/lang/String;)I ***/
	jint indexOf(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_indexOf_2(env, this, a);
	}

	/*** public indexOf (Ljava/lang/String;I)I ***/
	jint indexOf(JRIEnv* env, struct java_lang_String *a, jint b) {
		return java_lang_String_indexOf_3(env, this, a, b);
	}

	/*** public lastIndexOf (Ljava/lang/String;)I ***/
	jint lastIndexOf(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_lastIndexOf_2(env, this, a);
	}

	/*** public lastIndexOf (Ljava/lang/String;I)I ***/
	jint lastIndexOf(JRIEnv* env, struct java_lang_String *a, jint b) {
		return java_lang_String_lastIndexOf_3(env, this, a, b);
	}

	/*** public substring (I)Ljava/lang/String; ***/
	struct java_lang_String * substring(JRIEnv* env, jint a) {
		return java_lang_String_substring(env, this, a);
	}

	/*** public substring (II)Ljava/lang/String; ***/
	struct java_lang_String * substring(JRIEnv* env, jint a, jint b) {
		return java_lang_String_substring_1(env, this, a, b);
	}

	/*** public concat (Ljava/lang/String;)Ljava/lang/String; ***/
	struct java_lang_String * concat(JRIEnv* env, struct java_lang_String *a) {
		return java_lang_String_concat(env, this, a);
	}

	/*** public replace (CC)Ljava/lang/String; ***/
	struct java_lang_String * replace(JRIEnv* env, jchar a, jchar b) {
		return java_lang_String_replace(env, this, a, b);
	}

	/*** public toLowerCase ()Ljava/lang/String; ***/
	struct java_lang_String * toLowerCase(JRIEnv* env) {
		return java_lang_String_toLowerCase(env, this);
	}

	/*** public toUpperCase ()Ljava/lang/String; ***/
	struct java_lang_String * toUpperCase(JRIEnv* env) {
		return java_lang_String_toUpperCase(env, this);
	}

	/*** public trim ()Ljava/lang/String; ***/
	struct java_lang_String * trim(JRIEnv* env) {
		return java_lang_String_trim(env, this);
	}

	/*** public toString ()Ljava/lang/String; ***/
	struct java_lang_String * toString(JRIEnv* env) {
		return java_lang_String_toString(env, this);
	}

	/*** public toCharArray ()[C ***/
	jref toCharArray(JRIEnv* env) {
		return java_lang_String_toCharArray(env, this);
	}

	/*** public static valueOf (Ljava/lang/Object;)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, struct java_lang_Object *a) {
		return java_lang_String_valueOf(env, clazz, a);
	}

	/*** public static valueOf ([C)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a) {
		return java_lang_String_valueOf_1(env, clazz, a);
	}

	/*** public static valueOf ([CII)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c) {
		return java_lang_String_valueOf_2(env, clazz, a, b, c);
	}

	/*** public static copyValueOf ([CII)Ljava/lang/String; ***/
	static struct java_lang_String * copyValueOf(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a, jint b, jint c) {
		return java_lang_String_copyValueOf(env, clazz, a, b, c);
	}

	/*** public static copyValueOf ([C)Ljava/lang/String; ***/
	static struct java_lang_String * copyValueOf(JRIEnv* env, struct java_lang_Class* clazz, jcharArray a) {
		return java_lang_String_copyValueOf_1(env, clazz, a);
	}

	/*** public static valueOf (Z)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jbool a) {
		return java_lang_String_valueOf_3(env, clazz, a);
	}

	/*** public static valueOf (C)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jchar a) {
		return java_lang_String_valueOf_4(env, clazz, a);
	}

	/*** public static valueOf (I)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jint a) {
		return java_lang_String_valueOf_5(env, clazz, a);
	}

	/*** public static valueOf (J)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jlong a) {
		return java_lang_String_valueOf_6(env, clazz, a);
	}

	/*** public static valueOf (F)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jfloat a) {
		return java_lang_String_valueOf_7(env, clazz, a);
	}

	/*** public static valueOf (D)Ljava/lang/String; ***/
	static struct java_lang_String * valueOf(JRIEnv* env, struct java_lang_Class* clazz, jdouble a) {
		return java_lang_String_valueOf_8(env, clazz, a);
	}

	/*** public intern ()Ljava/lang/String; ***/
	struct java_lang_String * intern(JRIEnv* env) {
		return java_lang_String_intern(env, this);
	}

#ifdef IMPLEMENT_java_lang_String

	/* Private Field Accessors */
	/*** private value [C ***/
	jref value(JRIEnv* env) {
		return get_java_lang_String_value(env, this);
	}
	void value(JRIEnv* env, jref v) {
		set_java_lang_String_value(env, this, v);
	}

	/*** private offset I ***/
	jint offset(JRIEnv* env) {
		return get_java_lang_String_offset(env, this);
	}
	void offset(JRIEnv* env, jint v) {
		set_java_lang_String_offset(env, this, v);
	}

	/*** private count I ***/
	jint count(JRIEnv* env) {
		return get_java_lang_String_count(env, this);
	}
	void count(JRIEnv* env, jint v) {
		set_java_lang_String_count(env, this, v);
	}

	/* Private Methods */
	/*** private <init> (II[C)V ***/
	static java_lang_String* _new(JRIEnv* env, struct java_lang_Class* clazz, jint a, jint b, jcharArray c) {
		return java_lang_String_new_7(env, clazz, a, b, c);
	}

#endif /* IMPLEMENT_java_lang_String */
};

#endif /* __cplusplus */

#endif /* Class java/lang/String */
