indexing description: "[ Utility class used to handle the C++ exceptions that may occur during Spaces operations ]" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date$" revision: "$Revision$" deferred class EGS_EXCEPTION_HANDLER feature {NONE} -- Initialization make is do cpp_set_callback ($exception_call_back) end feature {EGS_SHARED_EXCEPTION_HANDLER} -- Queries last_exception: EGS_XAP_EXCEPTION is -- The last exception occured deferred end was_exception: BOOLEAN is -- Has the exception occured during the last operation deferred end clear_exception is -- Clears the last exception deferred end feature {NONE} -- Implementation exception_call_back (excp_name_ptr: POINTER; excp_message_ptr: POINTER; excp_ptr: POINTER) is require excp_ptr_not_null: excp_ptr /= default_pointer excp_name_ptr_not_null: excp_name_ptr /= default_pointer deferred end is_java_exception (excp_name: STRING): BOOLEAN is -- Is it a Java Exception do Result := java_exception_names.has (excp_name) end java_exception_names: BINARY_SEARCH_TREE_SET[STRING] is once create Result.make Result.compare_objects Result.put ("com.j_spaces.core.client.FinderException") Result.put ("java.rmi.RemoteException") Result.put ("net.jini.core.entry.UnusableEntryException") Result.put ("net.jini.core.transaction.TransactionException") Result.put ("java.lang.InterruptedException") Result.put ("com.j_spaces.core.client.EntryAlreadyInSpaceException") Result.put ("com.j_spaces.core.client.EntryNotInSpaceException") Result.put ("com.j_spaces.core.client.OperationTimeoutException") Result.put ("java.lang.IllegalArgumentException") Result.put ("java.util.NoSuchElementException") Result.put ("net.jini.core.lease.LeaseDeniedException") Result.put ("com.j_spaces.core.MemoryShortageException") Result.put ("com.j_spaces.core.client.EntryVersionConflictException") Result.put ("net.jini.space.InternalSpaceException") end feature {NONE} -- externals cpp_set_callback (call_back_ptr: POINTER) is require call_back_ptr_not_null: call_back_ptr /= default_pointer external "C++ inline use " alias "EGS_ExceptionHandler::setCallback($call_back_ptr);" end indexing library: "egigs-cpp: Library for accessing the GigaSpaces platform, POCO library 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