indexing description: "User change email message." author: "Till Bay " date: "$Date$" revision: "$Revision$" class O_USER_CHANGE_EMAIL_MESSAGE inherit O_USER_SESSION_MESSAGE rename make as make_session redefine make_from_generic, arguments, type end create make create {O_MESSAGE_FACTORY} make_from_generic feature {NONE} -- Initialization make (a_session: like session; an_email_address: like email_address) is -- Create. require a_session_ok: a_session /= Void and then not a_session.is_empty an_email_address_ok: an_email_address /= Void and then not an_email_address.is_empty do make_session (a_session) email_address := an_email_address ensure email_address_set: email_address = an_email_address 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 email_address := l_args.item (email_address_argument) end feature -- Access type: STRING is -- Type of the message. once Result := user_change_email_type end email_address: STRING -- New email address arguments: HASH_TABLE [STRING, STRING] is -- Named arguments. do Result := Precursor Result.force (email_address, email_address_argument) end feature {NONE} -- Implementation email_address_argument: STRING is "email_address" invariant email_address_ok: email_address /= Void and then not email_address.is_empty end