Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:
indexing description: "A sequence of actions to be performed on `call'" instructions: "[ Use features inherited from LIST to add/remove actions. An action is a procedure of ANY class that takes EVENT_DATA. When `call' is called the actions in the list will be executed in order stating at `first'. An action may call `abort' which will cause `call' to stop executing actions in the sequence. (Until the next call to `call'). Descendants may redefine `initialize' to arrange for `call' to be called by an event source. Use `block', `pause', `flush' and `resume' to change the behavior of `call'. eg. birthday_data: TUPLE [INTEGER, STRING] -- (age, name) birthday_actions: ACTIONS_SEQUENCE [like birthday_data] create birthday_actions.make ("birthday", <<"age","name">>) send_card (age: INTEGER, name, from: STRING) is ... buy_gift (age: INTEGER, name, gift, from: STRING) is ... birthday_actions.extend (~send_card (?, ?, "Sam") birthday_actions.extend (~buy_gift (?, ?, "Wine", "Sam") birthday_actions.call ([35, "Julia"]) causes call to: send_card (35, "Julia", "Sam")                 buy_gift (35, "Julia", "Wine", "Sam") ]" status: "See notice at end of class" keywords: "event, action" date: "$Date: 2001-11-16 20:32:23 +0000 (Fri, 16 Nov 2001) $" revision: "$Revision: 51435 $" class interface ACTION_SEQUENCE [EVENT_DATA -> TUPLE create make end] create default_create, make feature -- Basic operations call (event_data: EVENT_DATA) -- Call each procedure in order unless is_blocked. -- If is_paused delay execution until resume. -- Stop at current point in list on abort. ensure is_aborted_stack_unchanged: old is_aborted_stack.is_equal (is_aborted_stack) feature -- Access name: STRING -- Textual description. ensure equal_to_name_internal: Result.is_equal (name_internal) dummy_event_data: EVENT_DATA -- Attribute of the generic type. -- Useful for introspection and use in like statements. event_data_names: ARRAY [STRING] -- Textual description of each event datum. ensure equal_to_event_data_names_internal: deep_equal (Result, event_data_names_internal) feature -- Status setting abort -- Abort the current call. -- (The current item.call will be completed.) require call_is_underway: call_is_underway ensure is_aborted_set: is_aborted_stack.item block -- Ignore subsequent calls. ensure blocked_state: state = blocked_state pause -- Buffer subsequent calls for later execution. -- If is_blocked calls will simply be ignored. ensure paused_state: state = paused_state resume -- Used after block or pause to resume normal call -- execution.  Executes any buffered calls. ensure normal_state: state = normal_state flush -- Discard any buffered calls. ensure call_buffer_empty: call_buffer.is_empty feature -- Status report state: INTEGER -- One of Normal_state Paused_state or Blocked_state Normal_state: INTEGER is 1 Paused_state: INTEGER is 2 Blocked_state: INTEGER is 3 call_is_underway: BOOLEAN -- Is call currently being executed? ensure Result = not is_aborted_stack.is_empty feature -- Element Change prune_when_called (an_action: like item) -- Remove an_action after the next time it is called. require has (an_action) merge_left (other: like Current) -- Merge other into current structure after cursor -- position. Do not move cursor. Empty other merge_right (other: like Current) -- Merge other into current structure before cursor -- position. Do not move cursor. Empty other wipe_out -- Remove all items. feature -- Event handling not_empty_actions: LINKED_LIST [PROCEDURE [ANY, TUPLE]] -- Actions to be performed on transition from is_empty to not is_empty. empty_actions: LINKED_LIST [PROCEDURE [ANY, TUPLE]] -- Actions to be performed on transition from not is_empty to is_empty. invariant is_aborted_stack_not_void: is_aborted_stack /= void call_buffer_not_void: call_buffer /= void not_has_void: not has (void) valid_state: state = normal_state or state = paused_state or state = blocked_state call_buffer_consistent: state = normal_state implies call_buffer.is_empty not_empty_actions_not_void: not_empty_actions /= void empty_actions_not_void: empty_actions /= void indexing library: "[ EiffelBase: Library of reusable components for Eiffel. ]" status: "[ Copyright 1986-2001 Interactive Software Engineering (ISE). For ISE customers the original versions are an ISE product covered by the ISE Eiffel license and support agreements. ]" license: "[ EiffelBase may now be used by anyone as FREE SOFTWARE to develop any product, public-domain or commercial, without payment to ISE, under the terms of the ISE Free Eiffel Library License (IFELL) at http://eiffel.com/products/base/license.html. ]" source: "[ Interactive Software Engineering Inc. ISE Building 360 Storke Road, Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Electronic mail <info@eiffel.com> Customer support http://support.eiffel.com ]" info: "[ For latest info see award-winning pages: http://eiffel.com ]" end -- class ACTION_SEQUENCE
Classes Clusters Cluster hierarchy Chart Relations Text Flat Contracts Flat contracts Go to:

-- Generated by ISE Eiffel --
For more details: www.eiffel.com