1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package net.sf.plausj.bank.german.strategy;
18
19 import net.sf.plausj.bank.german.AccountCode;
20 import net.sf.plausj.bank.german.BankCode;
21 import net.sf.plausj.bank.german.CheckDigit;
22
23 /**
24 * Interface to be implemented by all check strategies
25 *
26 * @author ninan
27 *
28 */
29 public interface Strategy {
30
31 /**
32 * This method must calculate the check digit and return it within an check
33 * digit object. It is called by the BankAccount class to calculate the
34 * validity. If null is returned it means this strategy is not responsible
35 * for the account code.
36 *
37 * @param bankCode
38 * The bank code
39 * @param accountCode
40 * The account code
41 * @return The check digit of the account code
42 *
43 * @see CheckDigit
44 */
45 public CheckDigit calculateCheckDigit(final BankCode bankCode,
46 final AccountCode accountCode);
47
48 }