Skip to content
Snippets Groups Projects
Shift.java 2.04 KiB
Newer Older
eyan_'s avatar
eyan_ committed
package com.example.schedulerapp;

import java.time.LocalDateTime;
eyan_'s avatar
eyan_ committed
public class Shift {
    private int EmployeeID;
    private LocalDateTime start;
    private LocalDateTime end;
    private boolean available;
ArktikHunter's avatar
ArktikHunter committed
    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 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;
    }

ArktikHunter's avatar
ArktikHunter committed
    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;
    }
eyan_'s avatar
eyan_ committed
}