kerho
Class Harrastus

java.lang.Object
  extended by kerho.Harrastus
All Implemented Interfaces:
Cloneable

public class Harrastus
extends Object
implements Cloneable

Harrastus joka osaa mm. itse huolehtia tunnus_nro:staan.

Version:
1.0, 22.02.2003
Author:
Vesa Lappalainen

Constructor Summary
Harrastus()
          Alustetaan harrastus.
Harrastus(int jasenNro)
          Alustetaan tietyn jäsenen harrastus.
 
Method Summary
 String anna(int k)
           
 String aseta(int k, String s)
          Asetetaan valitun kentän sisältö.
 Harrastus clone()
          Tehdään identtinen klooni jäsenestä
 int ekaKentta()
           
 int getJasenNro()
          Palautetaan mille jäsenelle harrastus kuuluu
 int getKenttia()
           
 String getKysymys(int k)
           
 int getTunnusnro()
          Palautetaan harrastuksen oma id
static void main(String[] args)
          Testiohjelma Harrastukselle.
 void parse(String rivi)
          Selvittää harrastuksen tiedot | erotellusta merkkijonosta.
 int rekisteroi()
          Antaa harrastukselle seuraavan rekisterinumeron.
 String toString()
          Palauttaa harrastuksen tiedot merkkijonona jonka voi tallentaa tiedostoon.
 void tulosta(OutputStream os)
          Tulostetaan harrastuksen tiedot
 void tulosta(PrintStream out)
          Tulostetaan harrastuksen tiedot
 void tulosta(PrintWriter out)
          Tulostetaan harrastuksen tiedot
 void vastaaPitsinNyplays(int nro)
          Apumetodi, jolla saadaan täytettyä testiarvot Harrastukselle.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Harrastus

public Harrastus()
Alustetaan harrastus. Toistaiseksi ei tarvitse tehdä mitään


Harrastus

public Harrastus(int jasenNro)
Alustetaan tietyn jäsenen harrastus.

Parameters:
jasenNro - jäsenen viitenumero
Method Detail

getKenttia

public int getKenttia()
Returns:
harrastukse kenttien lukumäärä

ekaKentta

public int ekaKentta()
Returns:
ensimmäinen käyttäjän syötettävän kentän indeksi

getKysymys

public String getKysymys(int k)
Parameters:
k - minkä kentän kysymys halutaan
Returns:
valitun kentän kysymysteksti

anna

public String anna(int k)
Parameters:
k - Minkä kentän sisältö halutaan
Returns:
valitun kentän sisältö
Example:
   Harrastus har = new Harrastus();
   har.parse("   2   |  10  |   Kalastus  | 1949 | 22 t ");
   har.anna(0) === "2";   
   har.anna(1) === "10";   
   har.anna(2) === "Kalastus";   
   har.anna(3) === "1949";   
   har.anna(4) === "22";   
   
 

aseta

public String aseta(int k,
                    String s)
Asetetaan valitun kentän sisältö. Mikäli asettaminen onnistuu, palautetaan null, muutoin virheteksti.

Parameters:
k - minkä kentän sisältö asetetaan
s - asetettava sisältö merkkijonona
Returns:
null jos ok, muuten virheteksti
Example:
   Harrastus har = new Harrastus();
   har.aseta(3,"kissa") === "Aloitusvuosi väärin jono = \"kissa\"";
   har.aseta(3,"1940")  === null;
   har.aseta(4,"kissa") === "Viikkotunnit väärin jono = \"kissa\"";
   har.aseta(4,"20")    === null;
   
 

clone

public Harrastus clone()
                throws CloneNotSupportedException
Tehdään identtinen klooni jäsenestä

Overrides:
clone in class Object
Returns:
Object kloonattu jäsen
Throws:
CloneNotSupportedException
Example:
 #THROWS CloneNotSupportedException 
   Harrastus har = new Harrastus();
   har.parse("   2   |  10  |   Kalastus  | 1949 | 22 t ");
   Harrastus kopio = har.clone();
   kopio.toString() === har.toString();
   har.parse("   1   |  11  |   Uinti  | 1949 | 22 t ");
   kopio.toString().equals(har.toString()) === false;
 

vastaaPitsinNyplays

public void vastaaPitsinNyplays(int nro)
Apumetodi, jolla saadaan täytettyä testiarvot Harrastukselle. Aloitusvuosi arvotaan, jotta kahdella harrastuksella ei olisi samoja tietoja.

Parameters:
nro - viite henkilöön, jonka harrastuksesta on kyse

tulosta

public void tulosta(PrintWriter out)
Tulostetaan harrastuksen tiedot

Parameters:
out - tietovirta johon tulostetaan

tulosta

public void tulosta(OutputStream os)
Tulostetaan harrastuksen tiedot

Parameters:
os - tietovirta johon tulostetaan

tulosta

public void tulosta(PrintStream out)
Tulostetaan harrastuksen tiedot

Parameters:
out - tietovirta johon tulostetaan

rekisteroi

public int rekisteroi()
Antaa harrastukselle seuraavan rekisterinumeron.

Returns:
harrastuksen uusi tunnus_nro
Example:
   Harrastus pitsi1 = new Harrastus();
   pitsi1.getTunnusnro() === 0;
   pitsi1.rekisteroi();
   Harrastus pitsi2 = new Harrastus();
   pitsi2.rekisteroi();
   int n1 = pitsi1.getTunnusnro();
   int n2 = pitsi2.getTunnusnro();
   n1 === n2-1;
 

getTunnusnro

public int getTunnusnro()
Palautetaan harrastuksen oma id

Returns:
harrastuksen id

getJasenNro

public int getJasenNro()
Palautetaan mille jäsenelle harrastus kuuluu

Returns:
jäsenen id

toString

public String toString()
Palauttaa harrastuksen tiedot merkkijonona jonka voi tallentaa tiedostoon.

Overrides:
toString in class Object
Returns:
harrastus tolppaeroteltuna merkkijonona
Example:
   Harrastus harrastus = new Harrastus();
   harrastus.parse("   2   |  10  |   Kalastus  | 1949 | 22 t ");
   harrastus.toString()    === "2|10|Kalastus|1949|22";
 

parse

public void parse(String rivi)
Selvittää harrastuksen tiedot | erotellusta merkkijonosta. Pitää huolen että seuraavaNro on suurempi kuin tuleva tunnusnro.

Parameters:
rivi - josta harrastuksen tiedot otetaan
Example:
   Harrastus harrastus = new Harrastus();
   harrastus.parse("   2   |  10  |   Kalastus  | 1949 | 22 t ");
   harrastus.getJasenNro() === 10;
   harrastus.toString()    === "2|10|Kalastus|1949|22";
   
   harrastus.rekisteroi();
   int n = harrastus.getTunnusnro();
   harrastus.parse(""+(n+20));
   harrastus.rekisteroi();
   harrastus.getTunnusnro() === n+20+1;
   harrastus.toString()     === "" + (n+20+1) + "|10||1949|22";
 

main

public static void main(String[] args)
Testiohjelma Harrastukselle.

Parameters:
args - ei käytössä