indexing description: "" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" class EGS_EXTERNAL_ENTRY inherit EGS_ENTRY undefine is_equal end SHARED_JNI_ENVIRONMENT undefine is_equal end JAVA_OBJECT create make_default, make_from_java_object, make_from_uid, make_from_multiple_uids, make_from_classname_values, make_from_classname_values_names, make_from_classname_values_names_types feature -- Creation make_default is do create_instance (external_entry_class, "()V", Void) end make_from_java_object (jo: JAVA_OBJECT) is do make_from_pointer (jo.java_object_id) end make_from_uid (uid: STRING) is -- local args: JAVA_ARGS do create args.make (1) args.put_string (uid, 1) create_instance (external_entry_class, "(Ljava/lang/String;)V", args) end make_from_multiple_uids (uids: ARRAY[STRING]) is -- local args: JAVA_ARGS java_uids: JAVA_STRING_ARRAY do create java_uids.make_from_array (uids) create args.make (1) args.put_array (java_uids, 1) create_instance (external_entry_class, "([Ljava/lang/String;)V", args) end make_from_classname_values (classname:STRING; values: ARRAY[JAVA_OBJECT]) is local args: JAVA_ARGS java_values: JAVA_OBJECT_ARRAY do java_values := new_java_object_array (values) create args.make (2) args.put_string (classname, 1) args.put_array (java_values, 2) create_instance (external_entry_class, "(Ljava/lang/String;[Ljava/lang/Object;)V", args) end make_from_classname_values_names (classname:STRING; values: ARRAY[JAVA_OBJECT]; names: ARRAY[STRING]) is local args: JAVA_ARGS java_values: JAVA_OBJECT_ARRAY java_names: JAVA_STRING_ARRAY do java_values := new_java_object_array (values) create java_names.make_from_array (names) create args.make (3) args.put_string (classname, 1) args.put_array (java_values, 2) args.put_array (java_names, 3) create_instance (external_entry_class, "(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)V", args) end make_from_classname_values_names_types (classname:STRING; values: ARRAY[JAVA_OBJECT]; names: ARRAY[STRING]; types: ARRAY[STRING]) is local args: JAVA_ARGS java_values: JAVA_OBJECT_ARRAY java_names: JAVA_STRING_ARRAY java_types: JAVA_STRING_ARRAY do java_values := new_java_object_array (values) create java_names.make_from_array (names) create java_types.make_from_array (types) create args.make (4) args.put_string (classname, 1) args.put_array (java_values, 2) args.put_array (java_names, 3) args.put_array (java_types, 4) create_instance (external_entry_class, "(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;[Ljava/lang/String;)V", args) end feature -- Access get_fields_values: JAVA_OBJECT_ARRAY is -- do create Result.make_from_pointer(object_method(get_fields_values_id, Void).java_object_id) end feature {NONE} -- Implementation external_entry_class: JAVA_CLASS is -- once Result := jni.find_class ("com/j_spaces/core/client/ExternalEntry") end new_java_object_array (objects: ARRAY[JAVA_OBJECT]): JAVA_OBJECT_ARRAY is local i, i1: INTEGER do if objects /= Void then create Result.make (objects.count, "java/lang/Object") from i := objects.lower i1 := 0 until i > objects.upper loop Result.put (objects.item (i), i1) i := i+1 i1 := i1+1 end end end get_fields_values_id: POINTER is -- once Result := method_id ("getFieldsValues", "()[Ljava/lang/Object;") end indexing library: "egigs-jni: Library for accessing the GigaSpaces platform, JNI based implementation." copyright: "Copyright (c) 2008, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 356 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end