indexing description: "[ Identificating name for the application (doesn't contain any special characters) ]" date: "$Date$" revision: "$Revision$" class EM_APPLICATION_ID feature -- Access item: STRING -- Application ID feature -- Element change set (an_id: like item) is -- Set the ID require valid_id: is_valid (an_id) do item := an_id ensure item_set: item.is_equal (an_id) end feature -- Implementation is_valid (an_id: like item): BOOLEAN is -- Check the validity of a 'an_id'. 'an_id' may only have characters -- that are characters, digits and the characters '_' and '.' require id_not_void: an_id /= void local i: INTEGER do Result := an_id.count > 0 from i := 1 until i > an_id.count or Result = false loop Result := Result and (an_id.item (i).is_alpha or an_id.item (i).is_digit or an_id.item (i).is_equal ('_')) i := i + 1 end end end