indexing description: "Community edit wiki page message." author: "Marco Zietzling " date: "$Date$" revision: "$Revision$" class O_COMMUNITY_EDIT_WIKI_PAGE_MESSAGE inherit O_SESSION_MESSAGE rename make as make_session redefine make_from_generic, arguments end O_COMMUNITY_CONSTANTS undefine out end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_session: like session; a_community_name: like community_name; a_title: like title; a_text: like text; a_private: like private) is -- Create. require a_session_ok: a_session /= Void and then not a_session.is_empty a_community_name_ok: a_community_name /= Void and then not a_community_name.is_empty a_title_ok: a_title /= Void and then not a_title.is_empty a_text_ok: a_text /= Void do make_session (a_session) community_name := a_community_name title := a_title text := a_text private := a_private ensure community_name_set: community_name = a_community_name title_set: title = a_title text_set: text = a_text private_set: private = a_private 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 community_name := l_args.item (community_name_argument) title := l_args.item (title_argument) text := l_args.item (text_argument) private := l_args.item (private_argument).to_boolean end feature -- Access namespace: STRING is -- Namespace of the message type. once Result := community_namespace end type: STRING is -- Type of the message. once Result := community_edit_wiki_page_type end community_name: STRING -- Community name. title: STRING -- Wiki title. text: STRING -- Wiki text. private: BOOLEAN -- Private wiki page. arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do Result := Precursor Result.force (community_name, community_name_argument) Result.force (title, title_argument) Result.force (text, text_argument) Result.force (private.out, private_argument) end feature {NONE} -- Implementation community_name_argument: STRING is "community_name" title_argument: STRING is "title" text_argument: STRING is "text" private_argument: STRING is "private" invariant community_name_ok: community_name /= Void and then not community_name.is_empty title_ok: title /= Void and then not title.is_empty text_ok: text /= Void end