package at.ac.tuwien.sepm.assignment.groupphase.missioncontrol.dto; import com.google.auto.value.AutoValue; import java.time.LocalDate; @AutoValue public abstract class Employee { public enum EducationLevel { RS, NFS, NKV, NKA, NKI, NA } public abstract long id(); public abstract String name(); public abstract LocalDate birthday(); public abstract EducationLevel educationLevel(); public abstract boolean isDriver(); public abstract boolean isPilot(); public static Builder builder() { return new AutoValue_Employee.Builder().id(0); } @AutoValue.Builder public abstract static class Builder { public abstract Builder id(long id); public abstract Builder name(String name); public abstract Builder birthday(LocalDate birthday); public abstract Builder educationLevel(EducationLevel educationLevel); public abstract Builder isDriver(boolean isDriver); public abstract Builder isPilot(boolean isPilot); public abstract Employee build(); } public abstract Builder toBuilder(); }