Forked from
tie / ohj2 / ve / 2025 / kevat / ohj2
37 commits ahead of the upstream repository.
-
Kiljala Renne Lauri Olavi authoredKiljala Renne Lauri Olavi authored
Projektit.java 2.76 KiB
package fxHarakka.luokat;
import java.util.ArrayList;
/**---------------Projektien (monikko) luokka--------------------------------
* | | -Projekti |
* | - lisää ja poistaa projekteja | |
* | | |
* | - Huolehtii listan pituuden riittävyydestä jos | |
* | täyttyy | |
* | | |
* | - Lukee ja kirjoittaa projektit.dat tiedostoon | |
* | | |
* | - Etsii ja lajittelee (avustajana projekti luokka) | |
*/
public class Projektit {
//private int maxMaara; //tätä ei näillänäkymin tarvitse johtuen tietorakenteesta
//--> ei tarvitse itse huolehtia kasvatuksesta
private String kokoNimi = ""; //projektit nimi
private String tied = ""; //tiedostosijainti josta luetaan ja kirjoitetaa
private ArrayList<Projekti> projektiAlkiot = new ArrayList<>(); //varaa autom. oikean määrän alkioita
//arraylist on nyt staattinen mutta oliot sisällä ei eli pitäis olla ok?? jos tulee ongelmia niin
//pitää mennä Projekti luokkaan ja tehdä lisaaProjekti ei-staattiseksi ja alla lisaaProjekti myös
//-----------------------MUODOSTAJAT - PROJEKTIT----------------------------
/**
*
*
* @param kokoNimi projektikokoelman nimi
* @param tied tiedostosijainti josta luetaan ja talletetaan
*/
public Projektit(String kokoNimi, String tied) {
this.kokoNimi = kokoNimi;
this.tied = tied;
}
/**
* Oletusmuodostaja. voidaan käyttää ylempää jos halutaan muokata ominaisuuksia kuten nimeä esim tilanteessa
* jossa halutaan jatkossa lisätä uusi "istunto".
*
*
* oletuksena luo 10 tyhjää alkioita
*/
public Projektit() {
this.kokoNimi = "Harakka";
this.tied = "projektit.dat";
}
//-----------------------METODIT - PROJEKTIT----------------------------
/**
* Lisää projektin tietorakenteeseen
* @param projekti lisättävä projekti
*/
public void lisaaProjekti(Projekti projekti){
projektiAlkiot.add(projekti);
System.out.println("projekti lisätty! " + projekti);
}
/** Poistaa valitun projektin tietokannasta
*
* @param ind poistettavan projektin indeksi
*/