indexing description: "Community change description message." author: "Marco Zietzling " date: "$Date$" revision: "$Revision$" class O_COMMUNITY_CHANGE_DESCRIPTION_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_description: like description) 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_description_ok: a_description /= Void and then not a_description.is_empty do make_session (a_session) community_name := a_community_name description := a_description ensure community_name_set: community_name = a_community_name description_set: description = a_description 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) description := l_args.item (description_argument) 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_change_description_type end community_name: STRING -- Communit Name. description: STRING -- New description. arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do Result := Precursor Result.force (community_name, community_name_argument) Result.force (description, description_argument) end feature {NONE} -- Implementation community_name_argument: STRING is "community_name" description_argument: STRING is "description" invariant community_name_ok: community_name /= Void and then not community_name.is_empty description_ok: description /= Void and then not description.is_empty end