indexing description: "Workitem message." author: "Peter Wyss " date: "$Date: 2007-05-12 19:57:51 +0200 (Sat, 12 May 2007) $" revision: "$Revision: 257 $" class O_WORKITEM_RETRIEVE_MESSAGE inherit O_SESSION_MESSAGE rename make as make_session redefine make_from_generic, arguments end O_WORKITEM_CONSTANTS undefine out end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_session: like session; a_workitem_id: like workitem_id) is -- Create. require a_session_ok: a_session /= Void and then not a_session.is_empty a_workitem_id_ok: a_workitem_id > 0 do make_session (a_session) workitem_id := a_workitem_id ensure workitem_id_set: workitem_id = a_workitem_id 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 workitem_id := l_args.item (workitem_id_argument).to_integer end feature -- Access namespace: STRING is -- Namespace of the message type. once Result := workitem_namespace end type: STRING is -- Type of the message. once Result := workitem_retrieve_type end workitem_id: INTEGER -- Workitem id arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do Result := Precursor Result.force (workitem_id.out, workitem_id_argument) end feature {NONE} -- Implementation workitem_id_argument: STRING is "workitem_id" invariant workitem_id_ok: workitem_id > 0 end