indexing description: "" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" class EGS_SPACE_CONTAINER inherit 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 create_space (name: STRING; attributes: EGS_SPACE_ATTRIBUTES): EGS_SPACE_PROXY is -- Creates a space with a unique name in this container and writes the created space to the appropriate Storage Adapter. do -- TODO end destroy_space (name: STRING) is -- Destroys an existing space in this container, and unregisters it from all the Lookup Services. local args: JAVA_ARGS do create args.make (1) args.put_string (name, 1) void_method (destroy_space_id, args); end get_clustered_space (name: STRING): EGS_SPACE_PROXY is -- Returns a clustered proxy of the specified space. local args: JAVA_ARGS tmp: JAVA_OBJECT do create args.make (1) args.put_string (name, 1) tmp := object_method (get_clustered_space_id, args); check_for_exceptions if tmp /= Void then create {EGS_SPACE_PROXY} Result.make_from_java_object (tmp) end end get_name: STRING is -- Returns the name of this container. do Result := string_method (get_name_id, Void) end get_space (name: STRING): EGS_SPACE_PROXY is -- Returns a proxy of the specified space. local args: JAVA_ARGS tmp: JAVA_OBJECT do create args.make (1) args.put_string (name, 1) tmp := object_method (get_space_id, args); check_for_exceptions if tmp /= Void then create {EGS_SPACE_PROXY} Result.make_from_java_object (tmp) end end get_space_attributes (name: STRING): EGS_SPACE_ATTRIBUTES is -- Returns the EGS_SPACE_ATTRIBUTES object of the specified space, through which you may access different space attributes. local args: JAVA_ARGS tmp: JAVA_OBJECT do create args.make (1) args.put_string (name, 1) tmp := object_method (get_space_attributes_id, args); check_for_exceptions if tmp /= Void then create {EGS_SPACE_ATTRIBUTES} Result.make_from_java_object (tmp) end end get_space_names: ARRAY[STRING] is -- Returns the names of the spaces that belong to this container. do -- TODO end get_url: EGS_SPACE_URL is -- Returns the EGS_SPACE_URL instance which was used to initialize 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 -- Checks if the container is embedded. do Result := boolean_method (is_embedded_id, Void) end ping is -- Checks whether the container is alive and accessible. do void_method (ping_id, Void) end shutdown is -- Shuts down this container. do void_method (shutdown_id, Void) end feature {NONE} -- Implementation destroy_space_id: POINTER is -- once Result := method_id ("destroySpace", "(Ljava/lang/String;)V") end get_clustered_space_id: POINTER is -- once Result := method_id ("getClusteredSpace", "(Ljava/lang/String;)Lcom/j_spaces/core/IJSpace;") end get_space_id: POINTER is -- once Result := method_id ("getSpace", "(Ljava/lang/String;)Lcom/j_spaces/core/IJSpace;") end get_name_id: POINTER is -- once Result := method_id ("getName", "()Ljava/lang/String;") end is_embedded_id: POINTER is -- once Result := method_id ("isEmbedded", "()Z") end ping_id: POINTER is -- once Result := method_id ("ping", "()V") end shutdown_id: POINTER is -- once Result := method_id ("shutdown", "()V") end get_space_attributes_id: POINTER is -- once Result := method_id ("getSpaceAttributes", "(Ljava/lang/String;)Lcom/j_spaces/core/JSpaceAttributes;") end get_url_id: POINTER is -- once Result := method_id("getURL", "()Lcom/j_spaces/core/client/SpaceURL;") 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