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);
List loytyneet;
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ään
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");
harrastukset.lisaa(har1); harrastukset.lisaa(har2); harrastukset.lisaa(har3);
harrastukset.annaId(1) == har1 === true;
harrastukset.annaId(2) == har2 === true;
harrastukset.annaId(3) == har3 === true;