kerho
Class Harrastukset

java.lang.Object
  extended by kerho.Harrastukset
All Implemented Interfaces:
java.lang.Iterable<Harrastus>

public class Harrastukset
extends java.lang.Object
implements java.lang.Iterable<Harrastus>

Kerhon harrastukset, joka osaa mm. lisätä uuden harrastuksen

Version:
1.0, 22.02.2003
Author:
Vesa Lappalainen

Nested Class Summary
 class Harrastukset.HarrastuksetIterator
          Luokka tietyn jäsen harrastusten iteroimiseksi
 
Field Summary
private  java.util.Collection<Harrastus> alkiot
          Taulukko harrastuksista
private  java.lang.String bakNimi
           
private  java.lang.String kokoNimi
           
private  java.lang.String tiedostonNimi
           
 
Constructor Summary
Harrastukset()
          Harrastusten alustaminen
 
Method Summary
 java.lang.String getBakNimi()
          Palauttaa varakopiotiedoston nimen
 java.lang.String getKokoNimi()
          Palauttaa Kerhon koko nimen
 int getLkm()
          Palauttaa kerhon harrastusten lukumäärän
 java.lang.String getTiedostonNimi()
          Palauttaa tiedoston nimen, jota käytetään tallennukseen
 java.util.Iterator<Harrastus> iterator()
          Iteraattori kaikkien harrastusten läpikäymiseen
 java.util.Iterator<Harrastus> iterator(int vnro)
          Palautetaan tietyn jäsenen harrastuksia käsittelevä iteraattori
 void lisaa(Harrastus har)
          Lisää uuden harrastuksen tietorakenteeseen.
 void lueTiedostosta(java.lang.String tied)
          Lukee jäsenistön tiedostosta.
static void main(java.lang.String[] args)
          Testiohjelma harrastuksille
 void talleta()
          Tallentaa jäsenistön tiedostoon.
 boolean teeBak(java.lang.String bak_tark)
          Tekee nykyisestä tiedostosta varakopiotiedoston.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tiedostonNimi

private java.lang.String tiedostonNimi

bakNimi

private java.lang.String bakNimi

kokoNimi

private java.lang.String kokoNimi

alkiot

private final java.util.Collection<Harrastus> alkiot
Taulukko harrastuksista

Constructor Detail

Harrastukset

public Harrastukset()
Harrastusten alustaminen

Method Detail

lisaa

public void lisaa(Harrastus har)
Lisää uuden harrastuksen tietorakenteeseen. Ottaa harrastuksen omistukseensa.

Parameters:
har - lisättävä harrastus. Huom tietorakenne muuttuu omistajaksi

lueTiedostosta

public void lueTiedostosta(java.lang.String tied)
                    throws SailoException
Lukee jäsenistön tiedostosta. Kesken.

Parameters:
tied - tiedoston nimen alkuosa
Throws:
SailoException - jos lukeminen epäonnistuu

talleta

public void talleta()
             throws SailoException
Tallentaa jäsenistön tiedostoon. Kesken.

Throws:
SailoException - jos talletus epäonnistuu

getKokoNimi

public java.lang.String getKokoNimi()
Palauttaa Kerhon koko nimen

Returns:
Kerhon koko nimi merkkijononna

getLkm

public int getLkm()
Palauttaa kerhon harrastusten lukumäärän

Returns:
harrastusten lukumäärä

getTiedostonNimi

public java.lang.String getTiedostonNimi()
Palauttaa tiedoston nimen, jota käytetään tallennukseen

Returns:
tallennustiedoston nimi

getBakNimi

public java.lang.String getBakNimi()
Palauttaa varakopiotiedoston nimen

Returns:
varakopiotiedoston nimi

teeBak

public boolean teeBak(java.lang.String bak_tark)
Tekee nykyisestä tiedostosta varakopiotiedoston. Kesken.

Parameters:
bak_tark - tarkennin varakopioiedostoille
Returns:
onnistuiko (true) vai ei (false)

iterator

public java.util.Iterator<Harrastus> iterator()
Iteraattori kaikkien harrastusten läpikäymiseen

Specified by:
iterator in interface java.lang.Iterable<Harrastus>
Returns:
harrastusiteraattori
Example:
 #PACKAGEIMPORT
 #import java.util.*;
 
  Harrastukset harrasteet = new Harrastukset();
  Harrastus pitsi21 = new Harrastus(2); harrasteet.lisaa(pitsi21);
  Harrastus pitsi11 = new Harrastus(1); harrasteet.lisaa(pitsi11);
  Harrastus pitsi22 = new Harrastus(2); harrasteet.lisaa(pitsi22);
  Harrastus pitsi12 = new Harrastus(1); harrasteet.lisaa(pitsi12);
  Harrastus pitsi23 = new Harrastus(2); harrasteet.lisaa(pitsi23);
 
  Iterator i2=harrasteet.iterator();
  i2.next() === pitsi21;
  i2.next() === pitsi11;
  i2.next() === pitsi22;
  i2.next() === pitsi12;
  i2.next() === pitsi23;
  i2.next() === pitsi12;  #THROWS NoSuchElementException  
  
  int n = 0;
  int jnrot[] = {2,1,2,1,2};
  
  for ( Harrastus har:harrasteet ) { 
    har.getJasenNro() === jnrot[n]; n++;  
  }
  
  n === 5;
  
 

iterator

public java.util.Iterator<Harrastus> iterator(int vnro)
Palautetaan tietyn jäsenen harrastuksia käsittelevä iteraattori

Parameters:
vnro - tutkittavan jäsenen viitenumero
Returns:
valitun jäsenen harrastusten iteraattori

main

public static void main(java.lang.String[] args)
Testiohjelma harrastuksille

Parameters:
args - ei käytössä