/**
 * Kerho-luokka, joka huolehtii jäsenistöstä.  Pääosin kaikki metodit
 * ovat vain "välittäjämetodeja" jäsenistöön.
 *
 * @author Vesa Lappalainen
 * @version 1.0, 09.02.2003
 * @version 1.1, 23.02.2003
 */
public class Kerho {
  private Jasenet jasenet = new Jasenet();

  public String getNimi() { return jasenet.getKoko_nimi(); }
  public int getJasenia() { return jasenet.getLkm();       }

  /**
   * Poistaa jäsenistöstä ja harrasteista ne joilla on nro. Kesken.
   * @param nro viitenumero, jonkamukaan poistetaan
   * @return montako jäsentä poistettiin
   */
  public int poista(int nro)             { return 0;                          }

  public boolean TeeBak(String bak_tark) { return jasenet.TeeBak(bak_tark);   }
  public String getTiedoston_nimi()      { return jasenet.getTiedoston_nimi();}
  public String getBak_nimi()            { return jasenet.getBak_nimi();      }
  public void lisaa(Jasen jasen) throws Jasenet.SailoException
                                         { jasenet.lisaa(jasen);              }
  public Jasen anna_jasen(int i) throws IndexOutOfBoundsException
                                         { return jasenet.anna(i);            }

  public void lue_tiedostosta(String nimi) throws Jasenet.SailoException {
    jasenet.lue_tiedostosta(nimi);
  }

  public void talleta() throws Jasenet.SailoException {
    jasenet.talleta();
  }

  public static void main(String args[]) {
    Kerho kerho = new Kerho();

    try {
      kerho.lue_tiedostosta("kelmit");

      Jasen aku = new Jasen(), aku2 = new Jasen();
      aku.rekisteroi();    aku.vastaa_aku_ankka();
      aku2.rekisteroi();   aku2.vastaa_aku_ankka();

      kerho.lisaa(aku);
      kerho.lisaa(aku2);

      System.out.println("============= Kerhon testi =================");

      for (int i=0; i<kerho.getJasenia(); i++) {
        final Jasen jasen = kerho.anna_jasen(i);
        System.out.println("Jäsen nro: " + i);
        jasen.tulosta(System.out);
      }

    } catch ( Jasenet.SailoException ex ) {
      System.out.println(ex.getMessage());
    }
  }


}