1   import java.util.Iterator;
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 static void main(String args[]) {
62      Kerho kerho = new Kerho();
63  
64      try {
65        kerho.lue_tiedostosta("kelmit");
66      } catch ( SailoException ex ) {
67        System.out.println(ex.getMessage());
68      }
69  
70      try {
71        Jasen aku = new Jasen(), aku2 = new Jasen();
72        aku.rekisteroi();    aku.vastaa_aku_ankka();
73        aku2.rekisteroi();   aku2.vastaa_aku_ankka();
74  
75        kerho.lisaa(aku);
76        kerho.lisaa(aku2);
77  
78        System.out.println("============= Kerhon testi =================");
79  
80        for (Iterator i=kerho.jasen_iterator(); i.hasNext(); ) {
81          Jasen jasen = (Jasen)i.next();
82  //        System.out.println("Jäsen nro: " + i);
83          jasen.tulosta(System.out);
84        }
85  
86        kerho.talleta();
87  
88      } catch ( SailoException ex ) {
89        System.out.println(ex.getMessage());
90      }
91    }
92  
93  
94  }
95  
96  
97