From ccfe458b09dd900c12b0421f19abdf9887d5b912 Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 26 May 2011 14:11:46 +0200 Subject: more bank example app: - add persistent store - implement ranges --- bank-eiffel/bank_store.e | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 bank-eiffel/bank_store.e (limited to 'bank-eiffel/bank_store.e') diff --git a/bank-eiffel/bank_store.e b/bank-eiffel/bank_store.e new file mode 100644 index 0000000..acc6f3a --- /dev/null +++ b/bank-eiffel/bank_store.e @@ -0,0 +1,48 @@ +class + BANK_STORE + +inherit + STORABLE + +create + make + +feature + + persons: ARRAYED_SET [PERSON] + + accounts: ARRAYED_SET [ACCOUNT] + + ranges: TUPLE [ + account: attached like account_range; + studentaccount: attached like account_range; + retireeaccount: attached like account_range + ] + +feature {NONE} -- Implementation + + account_range: detachable TUPLE [ + creditline: attached like range; + interest_deposit: attached like range; + interest_debit: attached like range + ] + + range: detachable like {ACCOUNT}.range + +feature {NONE} -- Initialization + + make(cap: INTEGER) + do + create persons.make(cap) + create accounts.make(cap) + create ranges + ranges.account := new_range + ranges.studentaccount := new_range + ranges.retireeaccount := new_range + end + + new_range: attached like account_range + do + create Result + end +end -- cgit v1.2.3