INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Java Native Interface"
project: "Java Native Interface Library"
revision: "$Revision: 1.1 $"
copyright: "Copyright (C) 1996-2005 Object Tools Group"
license: "http://visual-eiffel.com/license"
cluster: jni
class JNI_JAVA_NATIVE_INTERFACE
inherit

MEMORY
end
creation {JNI_JAVA_VIRTUAL_MACHINE}-- Initialization from the existing JVM

make
creation -- Initialization from the external JNI structure,
-- e.g. passed to an Eiffel routine from the Java

make_from_external
feature -- Access: see JDK 1.1 JNI documentation for details

GetVersion: INTEGER
-- The version of the native method interface:
-- the major version number in the higher 16 bits and
-- the minor version number in the lower 16 bits.
-- In JDK1.1, returns 0x00010001.

DefineClass (loader: JNI_JOBJECT; buffer: STRING): JNI_JCLASS
-- Loads a class from a buffer of raw class data
require
non_void_buffer: buffer /= void

FindClass (class_name: STRING): JNI_JCLASS
require
non_void_class_name: class_name /= void

GetSuperclass (jclass: JNI_JCLASS): JNI_JCLASS
require
non_void_jclass: jclass /= void

IsAssignableFrom (jclass1: JNI_JCLASS; jclass2: JNI_JCLASS): BOOLEAN
require
non_void_jclass1: jclass1 /= void
non_void_jclass2: jclass2 /= void

Throw (jobject: JNI_JOBJECT): BOOLEAN
require
non_void_jobject: jobject /= void

ThrowNew (jclass: JNI_JCLASS; message: STRING): BOOLEAN
require
non_void_jclass: jclass /= void
non_void_message: message /= void

ExceptionOccurred: JNI_JOBJECT

ExceptionDescribe

ExceptionClear

FatalError (message: STRING)
require
non_void_message: message /= void

NewGlobalRef (jobject: JNI_JOBJECT): JNI_JOBJECT
require
non_void_jobject: jobject /= void

NewGlobalRefP (jobject: POINTER): POINTER
require
non_void_jobject: jobject /= void

DeleteGlobalRef (jobject: JNI_JOBJECT)
require
non_void_jobject: jobject /= void

DeleteLocalRef (jobject: JNI_JOBJECT)
require
non_void_jobject: jobject /= void

DeleteLocalRefP (jobject: POINTER)
require
non_void_jobject: jobject /= void

IsSameObject (jobject1: JNI_JOBJECT; jobject2: JNI_JOBJECT): BOOLEAN
require
non_void_jobject1: jobject1 /= void
non_void_jobject2: jobject2 /= void

AllocObject (jclass: JNI_JCLASS): JNI_JOBJECT
require
non_void_jclass: jclass /= void

NewObject (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): JNI_JOBJECT
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

GetObjectClass (jobject: JNI_JOBJECT): JNI_JCLASS
require
non_void_jobject: jobject /= void

IsInstanceOf (jobject: JNI_JOBJECT; jclass: JNI_JCLASS): BOOLEAN
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void

GetMethodID (jclass: JNI_JCLASS; method_name: STRING; method_signature: STRING): JNI_JMETHODID
require
non_void_jclass: jclass /= void
non_void_method_name: method_name /= void
non_void_method_signature: method_signature /= void

CallObjectMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): JNI_JOBJECT
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallBooleanMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): BOOLEAN
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallByteMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): CHARACTER
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallCharMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallShortMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallIntMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallFloatMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): REAL
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallDoubleMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY]): DOUBLE
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallVoidMethod (jobject: JNI_JOBJECT; method_id: JNI_JMETHODID; args: ARRAY [ANY])
require
non_void_jobject: jobject /= void
non_void_method_id: method_id /= void

CallNonvirtualObjectMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): JNI_JOBJECT
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualBooleanMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): BOOLEAN
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualByteMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): CHARACTER
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualCharMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualShortMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualIntMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualFloatMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): REAL
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualDoubleMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): DOUBLE
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallNonvirtualVoidMethod (jobject: JNI_JOBJECT; jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY])
require
non_void_jobject: jobject /= void
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

GetFieldID (jclass: JNI_JCLASS; field_name: STRING; field_signature: STRING): JNI_JFIELDID
require
non_void_jclass: jclass /= void
non_void_field_name: field_name /= void
non_void_field_signature: field_signature /= void

GetObjectField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): JNI_JOBJECT
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetBooleanField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): BOOLEAN
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetByteField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): CHARACTER
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetCharField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): INTEGER
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetShortField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): INTEGER
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetIntField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): INTEGER
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetFloatField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): REAL
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetDoubleField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID): DOUBLE
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetObjectField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; jobject1: JNI_JOBJECT)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetBooleanField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: BOOLEAN)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetByteField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: CHARACTER)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetCharField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetShortField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetIntField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

SetDoubleField (jobject: JNI_JOBJECT; field_id: JNI_JFIELDID; value: DOUBLE)
require
non_void_jobject: jobject /= void
non_void_field_id: field_id /= void

GetStaticMethodID (jclass: JNI_JCLASS; method_name: STRING; method_signature: STRING): JNI_JMETHODID
require
non_void_jclass: jclass /= void
non_void_method_name: method_name /= void

CallStaticObjectMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): JNI_JOBJECT
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticBooleanMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): BOOLEAN
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticByteMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): CHARACTER
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticCharMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticShortMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticIntMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): INTEGER
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticFloatMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): REAL
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticDoubleMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY]): DOUBLE
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

CallStaticVoidMethod (jclass: JNI_JCLASS; method_id: JNI_JMETHODID; args: ARRAY [ANY])
require
non_void_jclass: jclass /= void
non_void_method_id: method_id /= void

GetStaticFieldID (jclass: JNI_JCLASS; field_name: STRING; field_signature: STRING): JNI_JFIELDID
require
non_void_jclass: jclass /= void
non_void_field_name: field_name /= void
non_void_field_signature: field_signature /= void

GetStaticObjectField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): JNI_JOBJECT
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticBooleanField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): BOOLEAN
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticByteField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): CHARACTER
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticCharField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): INTEGER
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticShortField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): INTEGER
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticIntField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): INTEGER
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticFloatField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): REAL
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

GetStaticDoubleField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID): DOUBLE
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticObjectField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; jobject1: JNI_JOBJECT)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticBooleanField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: BOOLEAN)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticByteField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: CHARACTER)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticCharField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticShortField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticIntField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: INTEGER)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

SetStaticDoubleField (jclass: JNI_JCLASS; field_id: JNI_JFIELDID; value: DOUBLE)
require
non_void_jclass: jclass /= void
non_void_field_id: field_id /= void

NewString (unicode_chars: STRING): JNI_JOBJECT
require
non_void_unicode_chars: unicode_chars /= void

GetStringLength (jstring: JNI_JOBJECT): INTEGER
require
non_void_jstring: jstring /= void

GetStringChars (jstring: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jstring: jstring /= void

ReleaseStringChars (jstring: JNI_JOBJECT; chars: POINTER)
require
non_void_jstring: jstring /= void

NewStringUTF (bytes: STRING): JNI_JOBJECT
require
non_void_bytes: bytes /= void

GetStringUTFLength (jstring: JNI_JOBJECT): INTEGER
require
non_void_jstring: jstring /= void

GetStringUTFChars (jstring: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jstring: jstring /= void

ReleaseStringUTFChars (jstring: JNI_JOBJECT; chars: POINTER)
require
non_void_jstring: jstring /= void

GetArrayLength (jarray: JNI_JOBJECT): INTEGER
require
non_void_jarray: jarray /= void

NewObjectArray (length: INTEGER; jclass: JNI_JCLASS; initial_element: JNI_JOBJECT): JNI_JOBJECT
require
non_void_jclass: jclass /= void

GetObjectArrayElement (jarray: JNI_JOBJECT; index: INTEGER): JNI_JOBJECT
require
non_void_jarray: jarray /= void

SetObjectArrayElement (jarray: JNI_JOBJECT; index: INTEGER; jobject: JNI_JOBJECT)
require
non_void_jarray: jarray /= void

NewBooleanArray (length: INTEGER): JNI_JOBJECT

NewByteArray (length: INTEGER): JNI_JOBJECT

NewCharArray (length: INTEGER): JNI_JOBJECT

NewShortArray (length: INTEGER): JNI_JOBJECT

NewIntArray (length: INTEGER): JNI_JOBJECT

NewLongArray (length: INTEGER): JNI_JOBJECT

NewFloatArray (length: INTEGER): JNI_JOBJECT

NewDoubleArray (length: INTEGER): JNI_JOBJECT

GetBooleanArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetByteArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetCharArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetShortArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetIntArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetLongArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetFloatArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

GetDoubleArrayElements (jarray: JNI_JOBJECT; iscopy: BOOLEAN_REF): POINTER
require
non_void_jarray: jarray /= void

JNI_COMMIT: INTEGER

JNI_ABORT: INTEGER

ReleaseBooleanArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseByteArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseCharArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseShortArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseIntArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseLongArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseFloatArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

ReleaseDoubleArrayElements (jarray: JNI_JOBJECT; elems: POINTER; mode: INTEGER)
require
non_void_jarray: jarray /= void

MonitorEnter (jobject: JNI_JOBJECT): BOOLEAN
require
non_void_jobject: jobject /= void

MonitorExit (jobject: JNI_JOBJECT): BOOLEAN
require
non_void_jobject: jobject /= void
feature -- Access

jvm: JNI_JAVA_VIRTUAL_MACHINE
feature {NONE}-- Creation

make (parent: JNI_JAVA_VIRTUAL_MACHINE; env: POINTER)
-- Initialize from the given Java VM
require
non_void_parent: parent /= void
valid_env: env /= default_pointer
ensure
jvm_set: jvm = parent

make_from_external (env: POINTER)
-- Initialize from the supplied pointer to JNI structure
require
valid_env: env /= default_pointer
end -- class JNI_JAVA_NATIVE_INTERFACE

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES