KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > bank > Agency


1 package bank;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.Collection JavaDoc;
5 import java.util.Iterator JavaDoc;
6
7 /**
8  * @author S.Chassande-Barrioz
9  */

10 public class Agency {
11     protected String JavaDoc name;
12     protected Collection JavaDoc clients;
13     protected int lastAccountNumber;
14     protected Bank bank;
15
16     public Agency() {
17     }
18
19     public Agency(String JavaDoc name, Bank bank) {
20         this.name = name;
21         this.bank = bank;
22         lastAccountNumber = 0;
23         clients = new ArrayList JavaDoc();
24     }
25
26     public Client getClient(String JavaDoc fn,
27                             String JavaDoc ln,
28                             String JavaDoc ad) {
29         Iterator JavaDoc it = clients.iterator();
30         while(it.hasNext()) {
31             Client c = (Client) it.next();
32             if (c.firstName.equals(fn)
33                 && c.lastName.equals(ln) && c.address.equals(ad) ) {
34                 return c;
35             }
36         }
37         return null;
38     }
39
40     public synchronized Client createClient(String JavaDoc fn,
41                                             String JavaDoc ln,
42                                             String JavaDoc ad) {
43         Client client = getClient(fn, ln, ad);
44         if (client == null) {
45             client = new Client(ln, fn, ad, this);
46         }
47         return client;
48     }
49
50     public void removeClient(Client c) {
51         if (clients.remove(c)) {
52             c.agency = null;
53         }
54     }
55
56     public void removeAllClients() {
57         Iterator JavaDoc it = clients.iterator();
58         while (it.hasNext()) {
59             Client a = (Client) it.next();
60             a.agency = null;
61         }
62         clients.clear();
63     }
64
65     public synchronized String JavaDoc getNextAccountNumber() {
66         lastAccountNumber++;
67         return getStringAccountNumber(lastAccountNumber);
68     }
69
70     public static String JavaDoc getStringAccountNumber(int an) {
71         String JavaDoc str = String.valueOf(an);
72         for(int i=str.length(); i<11; i++) {
73             str = '0' + str;
74         }
75         return str;
76     }
77 }
78
Popular Tags