indexing description: "" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" class EGS_SPACE_PROXY inherit EGS_PROXY_ADMIN undefine is_equal end EGS_SERVER_ADMIN undefine is_equal end EGS_JAVA_SPACE undefine is_equal end SHARED_JNI_ENVIRONMENT undefine is_equal end EGS_SHARED_EXCEPTION_HANDLING undefine is_equal end JAVA_OBJECT create make_from_java_object feature -- Creation make_from_java_object (jo: JAVA_OBJECT) is do make_from_pointer (jo.java_object_id) end feature notify (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; listener: EGS_LISTENER; lease: INTEGER_64; handback: EGS_MARSHALLED_OBJECT): EGS_EVENT_REGISTRATION is -- When entries are written that match this template notify the given listener with a RemoteEvent that includes the handback object. do -- TODO end read (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64): EGS_ENTRY is -- Read any matching entry from the space, blocking until one exists. local args: JAVA_ARGS tmp: JAVA_OBJECT ee: EGS_EXTERNAL_ENTRY; do ee ?= tmpl if ee /= Void then create args.make (3) args.put_object (ee, 1) args.put_object (txn, 2) args.put_long (timeout, 3) tmp := object_method (read_id, args) check_for_exceptions if tmp /= Void then create {EGS_EXTERNAL_ENTRY} Result.make_from_java_object (tmp) end end end read_if_exist (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64): EGS_ENTRY is -- Read any matching entry from the space, returning Void if there is currently is none. do -- TODO end snapshot (tmpl: EGS_ENTRY): EGS_ENTRY is -- The process of serializing an entry for transmission to a JavaSpaces service will be identical if the same entry is used twice. local args: JAVA_ARGS tmp: JAVA_OBJECT ee: EGS_EXTERNAL_ENTRY; do ee ?= tmpl if ee /= Void then create args.make (1) args.put_object (ee, 1) tmp := object_method (snapshot_id, args) check_for_exceptions if tmp /= Void then create {EGS_EXTERNAL_ENTRY} Result.make_from_java_object (tmp) end end end take (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64): EGS_ENTRY is -- Take a matching entry from the space, waiting until one exists. do -- TODO end take_if_exist (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64): EGS_ENTRY is -- Take a matching entry from the space, returning Void if there is currently is none. do -- TODO end write (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; lease: INTEGER_64): EGS_LEASE is -- Write a new entry into the space. local args: JAVA_ARGS tmp: JAVA_OBJECT ee: EGS_EXTERNAL_ENTRY; do ee ?= tmpl if ee /= Void then create args.make (3) args.put_object (ee, 1) args.put_object (txn, 2) args.put_long (lease, 3) tmp := object_method (write_id, args) check_for_exceptions if tmp /= Void then create {EGS_LEASE} Result.make_from_java_object (tmp) end end end clean is -- Deletes all data and metadata from the space, terminates all threads and re-initializes the engine. do void_method (clean_id, Void) check_for_exceptions end drop_class (name: STRING) is -- Drops all Class's entries and all its templates from the space. local args: JAVA_ARGS do create args.make (1) args.put_string (name, 1) void_method (drop_class_id, args); check_for_exceptions end get_admin: ANY is -- Returns the admin object to the remote part of this space do -- TODO end get_container: EGS_SPACE_CONTAINER is -- Returns the container proxy this space resides in. local tmp: JAVA_OBJECT do tmp := object_method (get_container_id, Void) check_for_exceptions if tmp /= Void then create {EGS_SPACE_CONTAINER} Result.make_from_java_object (tmp) end end get_name: STRING is -- Returns the name of this space. do Result := string_method (get_name_id, Void) end get_referent_uuid: EGS_UUID is -- Returns the unique Uuid of this space instance. do -- TODO end get_stub_handler: EGS_STUB_HANDLER is -- Returns the StubHandler of this space. do -- TODO end get_url: EGS_SPACE_URL is -- Returns the EGS_SPACE_URL instance which was used to find the space. local tmp: JAVA_OBJECT do tmp := object_method (get_url_id, Void); check_for_exceptions if tmp /= Void then create {EGS_SPACE_URL} Result.make_from_java_object (tmp) end end is_embedded: BOOLEAN is -- Returns true if the proxy is connected to a clustered space, otherwise false. do Result := boolean_method (is_embedded_id, Void) end ping is --Checks whether the space is alive and accessible. do void_method (ping_id, Void) end get_finder_url: EGS_SPACE_URL is -- Returns the SPACE_URL instance which was used to find the space. local tmp: JAVA_OBJECT do tmp := object_method (get_finder_url_id, Void); check_for_exceptions if tmp /= Void then create {EGS_SPACE_URL} Result.make_from_java_object (tmp) end end get_read_modifiers: INTEGER is -- Gets the proxy Read Modifiers. do Result := integer_method (get_read_modifiers_id, Void) end get_update_modifiers: INTEGER is -- Gets the proxy Update Modifiers. do Result := integer_method (get_update_modifiers_id, Void) end is_fifo: BOOLEAN is -- gets Fifo mode for proxy. do Result := boolean_method (is_fifo_id, Void) end is_no_write_lease_mode: BOOLEAN is -- Checks the write mode. do -- TODO end is_optimistic_locking_enabled: BOOLEAN is --Returns status of Optimistic Lock protocol. do -- TODO end is_secured: BOOLEAN is -- Returns an indication : is this space secured. do -- TODO end set_default_transaction (transaction: EGS_TRANSACTION) is -- Sets default transaction to use in case that null parameter is used as transaction parameter with JavaSpace methods. do -- TODO end set_fifo (enabled: BOOLEAN) is -- Sets Fifo mode for proxy. do -- TODO end set_no_write_lease_mode (mode: BOOLEAN) is -- If set to true, Lease object will not return from write/writeMultiple operations. do -- TODO end set_optimistic_locking (enabled: BOOLEAN) is -- Enable/Disable Optimistic Lock protocol. do -- TODO end set_read_modifiers (modifiers: INTEGER) is -- Sets the read mode modifiers for proxy level. local args: JAVA_ARGS tmp: INTEGER do create args.make (1) args.put_int (modifiers, 1) tmp := integer_method (set_read_modifiers_id, args) end set_security_context (context: EGS_SECURITY_CONTEXT) is -- This function is called by the client (usually at the beginning of the session) in order to set a security context for the following operations. do -- TODO end set_update_modifiers (modifiers: INTEGER) is -- Sets the update mode modifiers for proxy level. local args: JAVA_ARGS tmp: INTEGER do create args.make (1) args.put_int (modifiers, 1) tmp := integer_method (set_update_modifiers_id, args) end count_matching_transaction_objects (template: ANY; transaction: EGS_TRANSACTION) is -- Count any matching object from the space, visible under the specified transaction. do -- TODO end count_matching_transaction_objects_with_modifiers (template: ANY; transaction: EGS_TRANSACTION; modifiers: INTEGER) is --Count any matching object from the space, visible under the specified transaction and modifiers. do -- TODO end read_with_modifiers (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64; modifiers: INTEGER): EGS_ENTRY is -- Read (according to the modifiers) any matching entry from the space, blocking until one exists do -- TODO end read_if_exist_with_modifiers (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; timeout: INTEGER_64; modifiers: INTEGER): EGS_ENTRY is -- Read (according to the modifiers) any matching entry from the space, returning null if there currently is none. do -- TODO end read_multiple (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; limit: INTEGER): ARRAY[EGS_ENTRY] is -- Read any matching entries from the space. do -- TODO end read_multiple_with_modifiers (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; limit: INTEGER; modifiers: INTEGER): ARRAY[EGS_ENTRY] is -- Read (according to the modifiers) any matching entries from the space. do -- TODO end take_multiply (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; limit: INTEGER): ARRAY[EGS_ENTRY] is -- Takes all the entries matching the specified template from this space do -- TODO end update (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; lease: INTEGER_64; timeout: INTEGER_64): EGS_ENTRY is do -- TODO end update_with_modifiers (tmpl: EGS_ENTRY; txn: EGS_TRANSACTION; lease: INTEGER_64; timeout: INTEGER_64; modifiers: INTEGER): EGS_ENTRY is do -- TODO end update_multiply (entries: ARRAY[EGS_ENTRY]; txn: EGS_TRANSACTION; leases: ARRAY[INTEGER_64]): ARRAY[EGS_ENTRY] is do -- TODO end update_multiply_with_modifiers (entries: ARRAY[EGS_ENTRY]; txn: EGS_TRANSACTION; leases: ARRAY[INTEGER_64]; modifiers: INTEGER): ARRAY[EGS_ENTRY] is do -- TODO end write_multiple (entries: ARRAY[EGS_ENTRY]; txn: EGS_TRANSACTION; lease: INTEGER_64): ARRAY[EGS_LEASE] is -- Writes the specified entries to this space. do -- TODO end feature {NONE} -- Implementation clean_id: POINTER is -- once Result := method_id ("clean", "()V") end get_name_id: POINTER is -- once Result := method_id ("getName", "()Ljava/lang/String;") end drop_class_id: POINTER is -- once Result := method_id ("dropClass", "(Ljava/lang/String;)V") end is_embedded_id: POINTER is -- once Result := method_id ("isEmbedded", "()Z") end ping_id: POINTER is -- once Result := method_id ("ping", "()V") end get_read_modifiers_id: POINTER is -- once Result := method_id ("getReadModifiers", "()I") end get_update_modifiers_id: POINTER is -- once Result := method_id ("getUpdateModifiers", "()I") end set_read_modifiers_id: POINTER is -- once Result := method_id ("setReadModifiers", "(I)I") end set_update_modifiers_id: POINTER is -- once Result := method_id ("setUpdateModifiers", "(I)I") end is_fifo_id: POINTER is -- once Result := method_id ("isFifo", "()Z") end get_container_id: POINTER is -- once Result := method_id ("getContainer", "()Lcom/j_spaces/core/IJSpaceContainer;") end get_url_id: POINTER is -- once Result := method_id ("getURL", "()Lcom/j_spaces/core/client/SpaceURL;") end get_finder_url_id: POINTER is -- once Result := method_id ("getFinderURL", "()Lcom/j_spaces/core/client/SpaceURL;") end snapshot_id: POINTER is -- once Result := method_id ("snapshot", "(Lnet/jini/core/entry/Entry;)Lnet/jini/core/entry/Entry;") end write_id: POINTER is -- once Result := method_id ("write", "(Lnet/jini/core/entry/Entry;Lnet/jini/core/transaction/Transaction;J)Lnet/jini/core/lease/Lease;") end read_id: POINTER is -- once Result := method_id ("read", "(Lnet/jini/core/entry/Entry;Lnet/jini/core/transaction/Transaction;J)Lnet/jini/core/entry/Entry;") 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