indexing description: "Project list message." author: "Patrick Ruckstuhl " date: "$Date$" revision: "$Revision$" class O_PROJECT_LIST_MESSAGE inherit O_MESSAGE rename make as make_message redefine make_from_generic end O_PROJECT_CONSTANTS undefine out end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_project_list: like project_list) is -- Create. require a_project_list_not_void: a_project_list /= Void do make_message project_list := a_project_list ensure project_list_set: project_list = a_project_list end make_from_generic (a_msg: O_GENERIC_MESSAGE) is -- Create from a generic message. local l_args: HASH_TABLE [STRING, STRING] do Precursor (a_msg) l_args := a_msg.arguments create project_list.make (l_args.count) from l_args.start until l_args.after loop project_list.force (l_args.item_for_iteration, l_args.key_for_iteration.to_integer) l_args.forth end end feature -- Access namespace: STRING is -- Namespace of the message type. once Result := project_namespace end type: STRING is -- Type of the message. once Result := project_list_type end project_list: HASH_TABLE [STRING, INTEGER] -- Project list (maps project name to project id). arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do create Result.make (project_list.count) from project_list.start until project_list.after loop Result.force (project_list.item_for_iteration, project_list.key_for_iteration.out) project_list.forth end end invariant project_list_not_void: project_list /= Void end