package com.example.schedulerapp; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Shift { private int EmployeeID; private String date; private LocalDateTime start; private LocalDateTime end; private boolean available; private int shiftID; //todo: error checking on start/end? (end cannot be before start) public Shift(String shiftData){ try { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-ddHHmm"); String[] dataSplit = shiftData.split("\\."); this.EmployeeID = Integer.parseInt(dataSplit[0]); this.shiftID = Integer.parseInt(dataSplit[4]); if (dataSplit[2].length() == 3) dataSplit[2] = "0" + dataSplit[2]; if (dataSplit[3].length() == 3) dataSplit[3] = "0" + dataSplit[3]; this.start = LocalDateTime.parse(dataSplit[1] + dataSplit[2], formatter); this.end = LocalDateTime.parse(dataSplit[1] + dataSplit[3], formatter); this.date = dataSplit[1]; this.available = false; } catch (Exception exception) { exception.printStackTrace(); } } public int getEmployeeID() { return EmployeeID; } public LocalDateTime getStart() { return start; } public LocalDateTime getEnd() { return end; } public String getDate() { return date; } public boolean isAvailable() { return available; } public void setEmployeeID(int employeeID) { EmployeeID = employeeID; } public void setStart(LocalDateTime start) { this.start = start; } public void setEnd(LocalDateTime end) { this.end = end; } public void setAvailable(boolean available) { this.available = available; } public int getShiftID(){ return shiftID; } //todo // output: true if this shift and the given shift overlap at all, otherwise false public boolean overlaps(Shift otherShift){ return false; } }