package org.softlang.company.features;
import org.softlang.company.model.Company;
import org.softlang.company.model.Employee;
public class EmployeeBuilder implements UnitBuilder{
private DepartmentBuilder parent;
private Employee employee = new Employee();
public EmployeeBuilder(DepartmentBuilder parent) {
this.parent = parent;
}
public EmployeeBuilder address(String address) {
this.employee.setAddress(address);
return this;
}
public DepartmentBuilder department(String name) {
return parent.department(name);
}
public EmployeeBuilder employee(String name) {
return parent.employee(name);
}
public Company endCompany() {
return parent.endCompany();
}
public UnitBuilder endDepartment() {
return parent.setInactive();
}
public Employee getContent() {
return employee;
}
public EmployeeBuilder salary(double salary) {
this.employee.setSalary(salary);
return this;
}
public EmployeeBuilder salary(int salary) {
return this.salary((double) salary);
}
public void setName(String name) {
this.employee.setName(name);
}
}