summaryrefslogtreecommitdiffstats
path: root/bank-eiffel/person.e
diff options
context:
space:
mode:
Diffstat (limited to 'bank-eiffel/person.e')
-rw-r--r--bank-eiffel/person.e45
1 files changed, 45 insertions, 0 deletions
diff --git a/bank-eiffel/person.e b/bank-eiffel/person.e
new file mode 100644
index 0000000..5230362
--- /dev/null
+++ b/bank-eiffel/person.e
@@ -0,0 +1,45 @@
1note
2 description: "Summary description for {PERSON}."
3 author: ""
4 date: "$Date$"
5 revision: "$Revision$"
6
7class
8 PERSON
9
10feature -- Access
11
12 surename: STRING_8
13 -- Nachname
14 attribute Result := ({like surename}).default end --| Remove line when Void Safety is properly set
15
16 firstname: STRING_8 assign set_firstname
17 -- Vorname
18 attribute Result := ({like firstname}).default end --| Remove line when Void Safety is properly set
19
20feature -- Element change
21
22 set_surename (a_surename: like surename)
23 -- Assign `surename' with `a_surename'.
24 require
25 a_surename_not_empty: a_surename /= Void and then not a_surename.is_empty
26 do
27 surename := a_surename
28 ensure
29 surename_assigned: surename = a_surename
30 end
31
32 set_firstname (a_firstname: like firstname)
33 -- Assign `firstname' with `a_firstname'.
34 require
35 a_firstname_not_empty: a_firstname /= Void and then not a_firstname.is_empty
36 do
37 firstname := a_firstname
38 ensure
39 firstname_assigned: firstname = a_firstname
40 end
41
42invariant
43 firstname_not_empty: firstname /= Void and then not firstname.is_empty
44 surename_not_empty: surename /= Void and then not surename.is_empty
45end