1
0
Files
Harjoitustyo/Tehtava-luokka.txt
T
2026-04-13 00:33:23 +03:00

94 lines
2.1 KiB
Plaintext

package com.example.harjoitustyo;
import java.io.Serializable;
import java.time.LocalDate;
public class Tehtava implements Serializable {
private static int idCounter = 1;
private final int id;
private String otsikko;
private String kuvaus;
private final LocalDate luontiPaiva;
private LocalDate deadline;
private LocalDate valmistumisPaiva;
private boolean valmis;
public Tehtava(String otsikko, String kuvaus, LocalDate deadline) {
this.id = idCounter++;
this.otsikko = otsikko;
this.kuvaus = kuvaus;
this.luontiPaiva = LocalDate.now();
this.deadline = deadline;
this.valmis = false;
}
/**
* Asettaa luokan staattisen muuttujan tiettyyn arvoon
* @param idCounter kentän uusi arvo
*/
protected static void setIdCounter(int idCounter) {
Tehtava.idCounter = idCounter;
}
/**
* Asettaa tehtävän valmiiksi ja rekisteröi valmistumispäivän
*/
public void teeValmiiksi() {
this.valmis = true;
this.valmistumisPaiva = LocalDate.now();
}
public void teeKeskeneraiseksi() {
this.valmis = true;
this.valmistumisPaiva = null;
}
/**
* ListViewiä varten toString() metodi
* @return tehtävän luontipäivä, otsikko, deadline
*/
public String toString() {
return this.getLuontiPaiva() + ", " + this.getOtsikko() + ", " + this.getDeadline();
}
public int getId() {
return id;
}
public String getOtsikko() {
return otsikko;
}
public String getKuvaus() {
return kuvaus;
}
public LocalDate getLuontiPaiva() {
return luontiPaiva;
}
public LocalDate getDeadline() {
return deadline;
}
public LocalDate getValmistumisPaiva() {
return valmistumisPaiva;
}
public boolean isValmis() {
return valmis;
}
public void setOtsikko(String otsikko) {
this.otsikko = otsikko;
}
public void setKuvaus(String kuvaus) {
this.kuvaus = kuvaus;
}
public void setDeadline(LocalDate deadline) {
this.deadline = deadline;
}
}