indexing
description: "Holds information abouy JNI environment. Potentially many JNI environments can exists at once, but more than one was never tested"
legal: "See notice at end of class."
status: "See notice at end of class."
date: "$Date: 2008-05-26 09:24:58 -0700 (Mon, 26 May 2008) $"
revision: "$Revision: 73719 $"
class interface
JNI_ENVIRONMENT
create {JAVA_VM}
make (vm: JAVA_VM)
require
vm_not_void: vm /= Void
feature
generating_type: STRING_8
ANY
ensure ANY
generating_type_not_void: Result /= Void
generating_type_not_empty: not Result.is_empty
generator: STRING_8
ANY
ensure ANY
generator_not_void: Result /= Void
generator_not_empty: not Result.is_empty
feature
frozen deep_equal (some: ?ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
shallow_implies_deep: standard_equal (some, other) implies Result
both_or_none_void: (some = Void) implies (Result = (other = Void))
same_type: (Result and (some /= Void)) implies (other /= Void and then some.same_type (other))
symmetric: Result implies deep_equal (other, some)
frozen equal (some: ?ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.is_equal (other))
frozen is_deep_equal (other: JNI_ENVIRONMENT): BOOLEAN
`Current'`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
shallow_implies_deep: standard_is_equal (other) implies Result
same_type: Result implies same_type (other)
symmetric: Result implies other.is_deep_equal (Current)
is_equal (other: JNI_ENVIRONMENT): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
symmetric: Result implies other.is_equal (Current)
consistent: standard_is_equal (other) implies Result
frozen standard_equal (some: ?ANY; other: like arg #1): BOOLEAN
`some'`other'
ANY
ensure ANY
definition: Result = (some = Void and other = Void) or else ((some /= Void and other /= Void) and then some.standard_is_equal (other))
frozen standard_is_equal (other: JNI_ENVIRONMENT): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
same_type: Result implies same_type (other)
symmetric: Result implies other.standard_is_equal (Current)
feature
conforms_to (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
same_type (other: ANY): BOOLEAN
`other'
ANY
require ANY
other_not_void: other /= Void
ensure ANY
definition: Result = (conforms_to (other) and other.conforms_to (Current))
feature
copy (other: JNI_ENVIRONMENT)
`other'
ANY
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_equal: is_equal (other)
frozen deep_copy (other: JNI_ENVIRONMENT)
copy`other'deep_twin
ANY
require ANY
other_not_void: other /= Void
ensure ANY
deep_equal: deep_equal (Current, other)
frozen deep_twin: JNI_ENVIRONMENT
ANY
ensure ANY
deep_twin_not_void: Result /= Void
deep_equal: deep_equal (Current, Result)
frozen standard_copy (other: JNI_ENVIRONMENT)
`other'
ANY
require ANY
other_not_void: other /= Void
type_identity: same_type (other)
ensure ANY
is_standard_equal: standard_is_equal (other)
frozen standard_twin: JNI_ENVIRONMENT
`other'
ANY
ensure ANY
standard_twin_not_void: Result /= Void
equal: standard_equal (Result, Current)
frozen twin: JNI_ENVIRONMENT
`Current'
twincopycopy
ANY
ensure ANY
twin_not_void: Result /= Void
is_equal: Result.is_equal (Current)
feature
frozen default: ?JNI_ENVIRONMENT
ANY
frozen default_pointer: POINTER
`POINTER'
`p'default
`p'`POINTER'
ANY
default_rescue
ANY
frozen do_nothing
ANY
feature
get_array_length (jarray: POINTER): INTEGER_32
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_boolean_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_byte_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_char_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_double_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_float_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_int_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_long_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
get_object_array_element (jarray: POINTER; indx: INTEGER_32): POINTER
`indx'`jarray'
require
jarray_not_null: jarray /= default_pointer
get_short_array_elements (jarray: POINTER; is_copy: POINTER): POINTER
`jarray'
require
jarray_not_null: jarray /= default_pointer
release_boolean_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_byte_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_char_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_double_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_float_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_int_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_long_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
release_short_array_elements (jarray: POINTER; elts: POINTER; mode: INTEGER_32)
`jarray'`elts'
require
jarray_not_null: jarray /= default_pointer
elts_not_null: elts /= default_pointer
set_object_array_element (jarray: POINTER; indx: INTEGER_32; v: POINTER)
`v'`indx'`jarray'
require
jarray_not_null: jarray /= default_pointer
feature
call_boolean_method (oid: POINTER; mid: POINTER; args: POINTER): BOOLEAN
`mid'`args'`oid'
call_byte_method (oid: POINTER; mid: POINTER; args: POINTER): INTEGER_8
`mid'`args'`oid'
call_char_method (oid: POINTER; mid: POINTER; args: POINTER): CHARACTER_8
`mid'`args'`oid'
call_double_method (oid: POINTER; mid: POINTER; args: POINTER): REAL_64
`mid'`args'`oid'
call_float_method (oid: POINTER; mid: POINTER; args: POINTER): REAL_32
`mid'`args'`oid'
call_int_method (oid: POINTER; mid: POINTER; args: POINTER): INTEGER_32
`mid'`args'`oid'
call_long_method (oid: POINTER; mid: POINTER; args: POINTER): INTEGER_64
`mid'`args'`oid'
call_object_method (oid: POINTER; mid: POINTER; argsp: POINTER): POINTER
`mid'`args'`oid'
call_short_method (oid: POINTER; mid: POINTER; args: POINTER): INTEGER_16
`mid'`args'`oid'
call_string_method (oid: POINTER; mid: POINTER; args: POINTER): STRING_8
`mid'`args'`oid'
call_void_method (oid: POINTER; mid: POINTER; args: POINTER)
`mid'`args'`oid'
feature
get_string (a_str: POINTER): STRING_8
`a_str'
require
a_str_not_null: a_str /= default_pointer
feature
destroy_vm
feature
check_for_exceptions
exception_clear
exception_occurred: BOOLEAN
throw_custom_exception (jclass: JAVA_CLASS; msg: STRING_8)
throw_java_exception (jthrowable: JAVA_OBJECT)
feature
get_boolean_field (oid: POINTER; fid: POINTER): BOOLEAN
`fid'`oid'
get_byte_field (oid: POINTER; fid: POINTER): INTEGER_8
`fid'`oid'
get_char_field (oid: POINTER; fid: POINTER): CHARACTER_8
`fid'`oid'
get_double_field (oid: POINTER; fid: POINTER): REAL_64
`fid'`oid'
get_float_field (oid: POINTER; fid: POINTER): REAL_32
`fid'`oid'
get_integer_field (oid: POINTER; fid: POINTER): INTEGER_32
`fid'`oid'
get_long_field (oid: POINTER; fid: POINTER): INTEGER_64
`fid'`oid'
get_object_field (oid: POINTER; fid: POINTER): POINTER
`fid'`oid'
get_short_field (oid: POINTER; fid: POINTER): INTEGER_16
`fid'`oid'
get_string_field (oid: POINTER; fid: POINTER): STRING_8
require
oid_not_null: oid /= default_pointer
fid_not_null: fid /= default_pointer
feature
set_boolean_field (oid: POINTER; fid: POINTER; v: BOOLEAN)
`fid'`v'`oid'
set_byte_field (oid: POINTER; fid: POINTER; v: INTEGER_8)
`fid'`v'`oid'
set_char_field (oid: POINTER; fid: POINTER; v: CHARACTER_8)
`fid'`v'`oid'
set_double_field (oid: POINTER; fid: POINTER; v: REAL_64)
`fid'`v'`oid'
set_float_field (oid: POINTER; fid: POINTER; v: REAL_32)
`fid'`v'`oid'
set_integer_field (oid: POINTER; fid: POINTER; v: INTEGER_32)
`fid'`v'`oid'
set_long_field (oid: POINTER; fid: POINTER; v: INTEGER_64)
`fid'`v'`oid'
set_object_field (oid: POINTER; fid: POINTER; v: POINTER)
`fid'`v'`oid'
set_short_field (oid: POINTER; fid: POINTER; v: INTEGER_16)
`fid'`v'`oid'
set_string_field (oid: POINTER; fid: POINTER; v: STRING_8)
require
oid_not_null: oid /= default_pointer
fid_not_null: fid /= default_pointer
v_not_void: v /= Void
ensure
string_field_set: v.is_equal (get_string_field (oid, fid))
feature
c_throw_custom_exception (lenv: POINTER; jclass_id: POINTER; msg: POINTER)
c_throw_java_exception (lenv: POINTER; jthrowable: POINTER)
feature
new_boolean_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_byte_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_char_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_double_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_float_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_int_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_long_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_object (cls: POINTER; constructor: POINTER; args: POINTER): POINTER
`cls'`constructor'
`args'
new_object_array (a_size: INTEGER_32; element_class: POINTER; init_elt: POINTER): POINTER
`element_class'
require
a_size_positive: a_size >= 0
element_class_not_null: element_class /= default_pointer
new_short_array (a_size: INTEGER_32): POINTER
require
a_size_positive: a_size >= 0
new_string (v: STRING_8): POINTER
`v'
feature
io: STD_FILES
ANY
ensure ANY
io_not_void: Result /= Void
out: STRING_8
ANY
ensure ANY
out_not_void: Result /= Void
print (some: ?ANY)
`some'
ANY
frozen tagged_out: STRING_8
ANY
ensure ANY
tagged_out_not_void: Result /= Void
feature
operating_environment: OPERATING_ENVIRONMENT
ANY
ensure ANY
operating_environment_not_void: Result /= Void
feature
find_class (name: STRING_8): JAVA_CLASS
`/'
require
name_valid: name /= Void
find_class_by_pointer (classp: POINTER): JAVA_CLASS
require
classp_not_null: classp /= default_pointer
find_class_pointer (name: STRING_8): POINTER
`/'
get_class (an_obj: POINTER): POINTER
`an_obj'
require
an_obj_not_null: an_obj /= default_pointer
get_field_id (cls: POINTER; fname, sig: POINTER): POINTER
`mname'`cls'`sig'
get_method_id (cls: POINTER; mname: POINTER; sig: POINTER): POINTER
`mname'`cls'`sig'
get_static_field_id (cls: POINTER; fname, sig: POINTER): POINTER
`mname'`cls'`sig'
get_static_method_id (cls: POINTER; mname: POINTER; sig: POINTER): POINTER
`mname'`cls'`sig'
feature
get_static_boolean_field (cls: POINTER; fid: POINTER): BOOLEAN
`fid'`cls'
get_static_byte_field (cls: POINTER; fid: POINTER): INTEGER_8
`fid'`cls'
get_static_char_field (cls: POINTER; fid: POINTER): CHARACTER_8
`fid'`cls'
get_static_double_field (cls: POINTER; fid: POINTER): REAL_64
`fid'`cls'
get_static_float_field (cls: POINTER; fid: POINTER): REAL_32
`fid'`cls'
get_static_integer_field (cls: POINTER; fid: POINTER): INTEGER_32
`fid'`cls'
get_static_long_field (cls: POINTER; fid: POINTER): INTEGER_64
`fid'`cls'
get_static_object_field (cls: POINTER; fid: POINTER): POINTER
`fid'`cls'
get_static_short_field (cls: POINTER; fid: POINTER): INTEGER_16
`fid'`cls'
get_static_string_field (cls: POINTER; fid: POINTER): STRING_8
require
cls_not_null: cls /= default_pointer
fid_not_null: fid /= default_pointer
feature
call_static_boolean_method (cls: POINTER; mid: POINTER; argp: POINTER): BOOLEAN
`mid'`cls'`argp'
call_static_byte_method (cls: POINTER; mid: POINTER; argp: POINTER): INTEGER_8
`mid'`cls'`argp'
call_static_char_method (cls: POINTER; mid: POINTER; argp: POINTER): CHARACTER_8
`mid'`cls'`argp'
call_static_double_method (cls