class
	JAVA_OBJECT

General
	cluster: eiffel2java
	description: "This class gives Eiffel access to Java objects. You can use it directly or inherit from to and create a more convienient Eiffel class that makes the Java object look like an Eiffel object"
	create: create_instance, make_from_pointer

Ancestors
	JAVA_ENTITY*
	SHARED_JNI_ENVIRONMENT

Queries
	boolean_attribute (fid: POINTER): BOOLEAN
	boolean_method (mid: POINTER; args: JAVA_ARGS): BOOLEAN
	byte_attribute (fid: POINTER): INTEGER_8
	byte_method (mid: POINTER; args: JAVA_ARGS): INTEGER_8
	char_attribute (fid: POINTER): CHARACTER_8
	char_method (mid: POINTER; args: JAVA_ARGS): CHARACTER_8
	double_attribute (fid: POINTER): REAL_64
	double_method (mid: POINTER; args: JAVA_ARGS): REAL_64
	exists: BOOLEAN
	field_id (lname, sig: STRING_8): POINTER
	float_attribute (fid: POINTER): REAL_32
	float_method (mid: POINTER; args: JAVA_ARGS): REAL_32
	integer_attribute (fid: POINTER): INTEGER_32
	integer_method (mid: POINTER; args: JAVA_ARGS): INTEGER_32
	is_equal (other: [like Current] JAVA_OBJECT): BOOLEAN
	java_object_id: POINTER
	jclass: JAVA_CLASS
	Jni: JNI_ENVIRONMENT
	long_attribute (fid: POINTER): INTEGER_64
	long_method (mid: POINTER; args: JAVA_ARGS): INTEGER_64
	method_id (feature_name, signature: STRING_8): POINTER
	object_attribute (fid: POINTER): JAVA_OBJECT
	object_method (lmethod_id: POINTER; args: JAVA_ARGS): JAVA_OBJECT
	short_attribute (fid: POINTER): INTEGER_16
	short_method (mid: POINTER; args: JAVA_ARGS): INTEGER_16
	string_attribute (fid: POINTER): STRING_8
	string_method (mid: POINTER; args: JAVA_ARGS): STRING_8

Commands
	create_instance (my_cls: JAVA_CLASS; sig: STRING_8; args: JAVA_ARGS)
	make_from_pointer (jobject: POINTER)
	set_boolean_attribute (fid: POINTER; value: BOOLEAN)
	set_byte_attribute (fid: POINTER; value: INTEGER_8)
	set_char_attribute (fid: POINTER; value: CHARACTER_8)
	set_double_attribute (fid: POINTER; value: REAL_64)
	set_float_attribute (fid: POINTER; value: REAL_32)
	set_integer_attribute (fid: POINTER; value: INTEGER_32)
	set_long_attribute (fid: POINTER; value: INTEGER_64)
	set_object_attribute (fid: POINTER; value: JAVA_OBJECT)
	set_short_attribute (fid: POINTER; value: INTEGER_16)
	set_string_attribute (fid: POINTER; value: STRING_8)
	void_method (mid: POINTER; args: JAVA_ARGS)

Constraints
	valid proxy