feat: PlantDB types and interfaces
Created the types and interfaces relating to the PlantDatabase
This commit is contained in:
parent
870bd18c0f
commit
bd53d0644a
|
@ -0,0 +1,12 @@
|
|||
package ch.zhaw.gartenverwaltung.io;
|
||||
|
||||
import ch.zhaw.gartenverwaltung.types.Plant;
|
||||
import ch.zhaw.gartenverwaltung.types.HardinessZone;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
public interface PlantDatabase {
|
||||
List<Plant> getPlantList(HardinessZone zone);
|
||||
Optional<Plant> getPlantById(long id);
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package ch.zhaw.gartenverwaltung.types;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public record GrowthPhase(Date startDate,
|
||||
Date endDate,
|
||||
GrowthPhaseType type,
|
||||
HardinessZone zone) {
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package ch.zhaw.gartenverwaltung.types;
|
||||
|
||||
public enum GrowthPhaseType {
|
||||
SOW, PLANT, HARVEST
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package ch.zhaw.gartenverwaltung.types;
|
||||
|
||||
/**
|
||||
* Represents the available hardiness zones
|
||||
* (Subject to later expansion)
|
||||
*/
|
||||
public enum HardinessZone {
|
||||
ZONE_8A
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package ch.zhaw.gartenverwaltung.types;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public record Plant(
|
||||
long id,
|
||||
String name,
|
||||
String description,
|
||||
int spacing,
|
||||
List<GrowthPhase> lifecycle) {
|
||||
}
|
Loading…
Reference in New Issue