Newer
Older
Rafi
committed
import java.time.format.DateTimeFormatter;
Rafi
committed
private String date;
private LocalDateTime start;
private LocalDateTime end;
private boolean available;
//todo: error checking on start/end? (end cannot be before start)
Rafi
committed
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;
}
Rafi
committed
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;
}
//todo
// output: true if this shift and the given shift overlap at all, otherwise false
public boolean overlaps(Shift otherShift){
return false;
}