TYPE
- talletettava tyyppipublic interface Tietueet<TYPE extends Tietue> extends java.lang.Iterable<TYPE>
public static class Harrastus extends PerusTietue { private Kentta kentat[] = { new IntKentta("id"), new IntKentta("jäsenId"), new JonoKentta("ala"), new IntKentta("aloitusvuosi"), new IntKentta("h/vko") }; private static int seuraavaNro = 1; public Harrastus() { } public Harrastus(int jnro) { ((IntKentta)(kentat[1])).setValue(jnro); }
Modifier and Type | Method and Description |
---|---|
TYPE |
annaId(int id)
Etsii tietueen id:n perusteella
|
java.util.List<TYPE> |
annaTietueet(int tunnusnro,
int k)
Haetaan kaikki tietyn viitteen tietueet
|
java.util.List<TYPE> |
etsi(java.lang.String hakuehto,
int k)
Palauttaa "taulukossa" hakuehtoon vastaavien tietueiden viitteet
|
java.lang.String |
getBakNimi()
Palauttaa varakopiotiedoston nimen
|
int |
getLkm()
Palauttaa kerhon harrastusten lukumäärän
|
java.lang.String |
getTiedostonNimi()
Palauttaa tiedoston nimen, jota käytetään tallennukseen
|
java.lang.String |
getTiedostonPerusNimi()
Palauttaa tiedoston nimen, jota käytetään tallennukseen
|
java.util.Iterator<TYPE> |
iterator()
Iteraattori kaikkien harrastusten läpikäymiseen
|
void |
korvaaTaiLisaa(TYPE tietue)
Korvaa tietueen tietorakenteessa.
|
void |
lisaa(TYPE har)
Lisää uuden harrastuksen tietorakenteeseen.
|
void |
lueTiedostosta(java.lang.String tied)
Lukee tietueet tiedostosta.
|
TYPE |
luoUusi() |
int |
poista(int id)
Poistaa tietueen jolla on valittu tunnusnumero
|
int |
poista(int viiteNro,
int kenttaNro)
Poistaa kaikki tietyn viittauksen tietueet
|
boolean |
poista(TYPE tietue)
Poistaa valitun harrastuksen
|
void |
setMuutos()
Laitetaan muutos, jolloin pakotetaan tallentamaan.
|
void |
setTiedostonPerusNimi(java.lang.String tied)
Asettaa tiedoston perusnimen ilan tarkenninta
|
void |
talleta()
Tallentaa harrastukset tiedostoon.
|
void lisaa(TYPE har)
har
- lisättävä harrastus. Huom tietorakenne muuttuu omistajaksivoid korvaaTaiLisaa(TYPE tietue) throws SailoException
tietue
- lisätäävän tietueen viite. Huom tietorakenne muuttuu omistajaksiSailoException
- jos tietorakennen on jo täynnä#THROWS SailoException,CloneNotSupportedException #PACKAGEIMPORT Harrastukset harrastukset = new Harrastukset(); Harrastus har1 = new Harrastus(), har2 = new Harrastus(); har1.rekisteroi(); har2.rekisteroi(); harrastukset.getLkm() === 0; harrastukset.korvaaTaiLisaa(har1); harrastukset.getLkm() === 1; harrastukset.korvaaTaiLisaa(har2); harrastukset.getLkm() === 2; Harrastus har3 = har1.clone(); har3.aseta(2,"kkk"); Iteratori2=harrastukset.iterator(); i2.next() === har1; harrastukset.korvaaTaiLisaa(har3); harrastukset.getLkm() === 2; i2=harrastukset.iterator(); Harrastus h = i2.next(); h === har3; h == har3 === true; h == har1 === false;
boolean poista(TYPE tietue)
tietue
- poistettava harrastus#THROWS SailoException #import java.io.File; Harrastukset harrasteet = new Harrastukset(); Harrastus pitsi21 = new Harrastus(); pitsi21.vastaaPitsinNyplays(2); Harrastus pitsi11 = new Harrastus(); pitsi11.vastaaPitsinNyplays(1); Harrastus pitsi22 = new Harrastus(); pitsi22.vastaaPitsinNyplays(2); Harrastus pitsi12 = new Harrastus(); pitsi12.vastaaPitsinNyplays(1); Harrastus pitsi23 = new Harrastus(); pitsi23.vastaaPitsinNyplays(2); harrasteet.lisaa(pitsi21); harrasteet.lisaa(pitsi11); harrasteet.lisaa(pitsi22); harrasteet.lisaa(pitsi12); harrasteet.poista(pitsi23) === false ; harrasteet.getLkm() === 4; harrasteet.poista(pitsi11) === true; harrasteet.getLkm() === 3; Listh = harrasteet.annaTietueet(1,1); h.size() === 1; h.get(0) === pitsi12;
int poista(int id)
id
- poistettavan tietueen tunnusnumeroPerusTietueetharrastukset = new PerusTietueet(new Harrastus()); Harrastus har1 = new Harrastus(), har2 = new Harrastus(), har3 = new Harrastus(); har1.rekisteroi(); har2.rekisteroi(); har3.rekisteroi(); int id1 = har1.getTunnusNro(); harrastukset.lisaa(har1); harrastukset.lisaa(har2); harrastukset.lisaa(har3); harrastukset.poista(id1+1) === 1; harrastukset.poista(id1+1) === 0; harrastukset.getLkm() === 2; harrastukset.poista(id1) === 1; harrastukset.getLkm() === 1; harrastukset.poista(id1+3) === 0; harrastukset.getLkm() === 1;
int poista(int viiteNro, int kenttaNro)
viiteNro
- viite siihen, minkä jäsenen harrastukset poistetaankenttaNro
- mistä kentästä täytyy vastaava numero löytyä#THROWS SailoException #import java.io.File; Harrastukset harrasteet = new Harrastukset(); Harrastus pitsi21 = new Harrastus(); pitsi21.vastaaPitsinNyplays(2); Harrastus pitsi11 = new Harrastus(); pitsi11.vastaaPitsinNyplays(1); Harrastus pitsi22 = new Harrastus(); pitsi22.vastaaPitsinNyplays(2); Harrastus pitsi12 = new Harrastus(); pitsi12.vastaaPitsinNyplays(1); Harrastus pitsi23 = new Harrastus(); pitsi23.vastaaPitsinNyplays(2); harrasteet.lisaa(pitsi21); harrasteet.lisaa(pitsi11); harrasteet.lisaa(pitsi22); harrasteet.lisaa(pitsi12); harrasteet.lisaa(pitsi23); harrasteet.poista(2,1) === 3; harrasteet.getLkm() === 2; harrasteet.poista(3,1) === 0; harrasteet.getLkm() === 2; Listh = harrasteet.annaTietueet(2,1); h.size() === 0; h = harrasteet.annaTietueet(1,1); h.get(0) === pitsi11; h.get(1) === pitsi12;
void lueTiedostosta(java.lang.String tied) throws SailoException
tied
- tiedoston nimen alkuosaSailoException
- jos lukeminen epäonnistuu#THROWS SailoException #import java.io.File; Harrastukset harrasteet = new Harrastukset(); Harrastus pitsi21 = new Harrastus(); pitsi21.vastaaPitsinNyplays(2); Harrastus pitsi11 = new Harrastus(); pitsi11.vastaaPitsinNyplays(1); Harrastus pitsi22 = new Harrastus(); pitsi22.vastaaPitsinNyplays(2); Harrastus pitsi12 = new Harrastus(); pitsi12.vastaaPitsinNyplays(1); Harrastus pitsi23 = new Harrastus(); pitsi23.vastaaPitsinNyplays(2); String tiedNimi = "testikelmit"; File ftied = new File(tiedNimi+".har"); ftied.delete(); harrasteet.lueTiedostosta(tiedNimi); #THROWS SailoException harrasteet.lisaa(pitsi21); harrasteet.lisaa(pitsi11); harrasteet.lisaa(pitsi22); harrasteet.lisaa(pitsi12); harrasteet.lisaa(pitsi23); harrasteet.talleta(); harrasteet = new Harrastukset(); harrasteet.lueTiedostosta(tiedNimi); Iteratori = harrasteet.iterator(); i.next().toString() === pitsi21.toString(); i.next().toString() === pitsi11.toString(); i.next().toString() === pitsi22.toString(); i.next().toString() === pitsi12.toString(); i.next().toString() === pitsi23.toString(); i.hasNext() === false; harrasteet.lisaa(pitsi23); harrasteet.talleta(); ftied.delete() === true; File fbak = new File(tiedNimi+".hbak"); fbak.delete() === true;
void talleta() throws SailoException
SailoException
- jos talletus epäonnistuuint getLkm()
void setTiedostonPerusNimi(java.lang.String tied)
tied
- tallennustiedoston perusnimijava.lang.String getTiedostonPerusNimi()
java.lang.String getTiedostonNimi()
java.lang.String getBakNimi()
java.util.Iterator<TYPE> iterator()
iterator
in interface java.lang.Iterable<TYPE extends Tietue>
#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); Iteratori2=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.getHarrastusNro() === jnrot[n]; n++; } n === 5;
void setMuutos()
java.util.List<TYPE> annaTietueet(int tunnusnro, int k)
tunnusnro
- etsittävän viitteen tunnusnumero jolle tietueita haetaank
- etsittävän kentän numero#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); Harrastus pitsi51 = new Harrastus(5); harrasteet.lisaa(pitsi51); Listloytyneet; loytyneet = harrasteet.annaTietueet(3,1); loytyneet.size() === 0; loytyneet = harrasteet.annaTietueet(1,1); loytyneet.size() === 2; loytyneet.get(0) == pitsi11 === true; loytyneet.get(1) == pitsi12 === true; loytyneet = harrasteet.annaTietueet(5,1); loytyneet.size() === 1; loytyneet.get(0) == pitsi51 === true;
java.util.List<TYPE> etsi(java.lang.String hakuehto, int k)
hakuehto
- hakuehtok
- etsittävän kentän indeksi#THROWS SailoException Harrastukset harrastukset = new Harrastukset(); Harrastus har1 = new Harrastus(); har1.parse("1|2|Possujen jahtaaminen|1940|22"); Harrastus har2 = new Harrastus(); har2.parse("2|1|Poikien hoitaminen|1953|1"); Harrastus har3 = new Harrastus(); har3.parse("3|2|Kelmien kerho|1948|20"); Harrastus har4 = new Harrastus(); har4.parse("4|1|Kalastus|1947|20"); Harrastus har5 = new Harrastus(); har5.parse("5|3|Viulu|1952|15"); harrastukset.lisaa(har1); harrastukset.lisaa(har2); harrastukset.lisaa(har3); harrastukset.lisaa(har4); harrastukset.lisaa(har5); Listloytyneet; loytyneet = harrastukset.etsi("*s*",2); loytyneet.size() === 2; loytyneet.get(0) == har4 === true; loytyneet.get(1) == har1 === true; loytyneet = harrastukset.etsi("*5*",3); loytyneet.size() === 2; loytyneet.get(0) == har5 === true; loytyneet.get(1) == har2 === true;
TYPE annaId(int id)
id
- tunnusnumero, jonka mukaan etsitäänHarrastukset harrastukset = new Harrastukset(); Harrastus har1 = new Harrastus(); har1.parse("1|2|Possujen jahtaaminen|1940|22"); Harrastus har2 = new Harrastus(); har2.parse("2|1|Poikien hoitaminen|1953|1"); Harrastus har3 = new Harrastus(); har3.parse("3|2|Kelmien kerho|1948|20"); harrastukset.lisaa(har1); harrastukset.lisaa(har2); harrastukset.lisaa(har3); harrastukset.annaId(1) == har1 === true; harrastukset.annaId(2) == har2 === true; harrastukset.annaId(3) == har3 === true;