1   import java.util.*;
2   /**
3    * Kerho-luokka, joka huolehtii jäsenistöstä.  Pääosin kaikki metodit
4    * ovat vain "välittäjämetodeja" jäsenistöön tai harrastuksiin.
5    *
6    * @author Vesa Lappalainen
7    * @version 1.0, 09.02.2003
8    * @version 1.1, 23.02.2003
9    * @version 1.2, 20.03.2003
10   */
11  public class Kerho {
12  
13    private Jasenet jasenet = new Jasenet();
14    private Harrastukset harrastukset = new Harrastukset();
15  
16    public String getNimi() { return jasenet.getKoko_nimi(); }
17    public int getJasenia() { return jasenet.getLkm();       }
18  
19    /**
20     * Poistaa jäsenistöstä ja harrasteista ne joilla on valittu id. Kesken.
21     * @param id viitenumero, jonka mukaan poistetaan
22     * @return montako jäsentä poistettiin
23     */
24    public int poista(int id)              { return 0;                          }
25  
26  //  public boolean TeeBak(String bak_tark) { return jasenet.TeeBak(bak_tark);   }
27    public String getTiedoston_nimi()      { return jasenet.getTiedoston_nimi();}
28    public String getBak_nimi()            { return jasenet.getBak_nimi();      }
29    public void lisaa(Jasen jasen) throws SailoException
30                                           { jasenet.lisaa(jasen);              }
31    public void lisaa(Harrastus har)       { harrastukset.lisaa(har);           }
32  
33  //  public Jasen anna_jasen(int i) throws SailoException
34  //                                         { return jasenet.anna(i);            }
35    public Iterator jasen_iterator()         { return jasenet.iterator();       }
36    public Iterator harrastus_iterator()     { return harrastukset.iterator();  }
37    public Iterator harrastus_iterator(int jid) { return harrastukset.iterator(jid);}
38  
39  
40    public void lue_tiedostosta(String nimi) throws SailoException {
41      jasenet.lue_tiedostosta(nimi);
42      harrastukset.lue_tiedostosta(nimi);
43    }
44  
45    public void talleta() throws SailoException {
46      String virhe = "";
47      try {
48        jasenet.talleta();
49      } catch ( SailoException ex ) {
50        virhe = ex.getMessage();
51      }
52  
53      try {
54        harrastukset.talleta();
55      } catch ( SailoException ex ) {
56        virhe += ex.getMessage();
57      }
58      if ( !virhe.equals("") ) throw new SailoException(virhe);
59    }
60  
61    public List etsi(int k, String hakuehto) {
62      return jasenet.etsi(k,hakuehto);
63    }
64  
65  
66    public static void main(String args[]) {
67      Kerho kerho = new Kerho();
68  
69      try {
70        kerho.lue_tiedostosta("kelmit");
71      } catch ( SailoException ex ) {
72        System.out.println(ex.getMessage());
73      }
74  
75      try {
76        Jasen aku = new Jasen(), aku2 = new Jasen();
77        aku.rekisteroi();    aku.vastaa_aku_ankka();
78        aku2.rekisteroi();   aku2.vastaa_aku_ankka();
79  
80        kerho.lisaa(aku);
81        kerho.lisaa(aku2);
82  
83        System.out.println("============= Kerhon testi =================");
84  
85        for (Iterator i=kerho.jasen_iterator(); i.hasNext(); ) {
86          Jasen jasen = (Jasen)i.next();
87  //        System.out.println("Jäsen nro: " + i);
88          jasen.tulosta(System.out);
89        }
90  
91        kerho.talleta();
92  
93      } catch ( SailoException ex ) {
94        System.out.println(ex.getMessage());
95      }
96    }
97  
98  
99  }
100 
101 
102