package org.softlang.company.model;
import org.softlang.company.features.visitor.*;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
/**
* A department has a name, a manager, employees, and subdepartments.
*/
public class Department extends Subunit implements Serializable {
private static final long serialVersionUID = -2008895922177165250L;
private String name;
private Employee manager;
private List<Subunit> subunits = new LinkedList<Subunit>();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Employee getManager() {
return manager;
}
public void setManager(Employee manager) {
this.manager = manager;
}
public List<Subunit> getSubunits() {
return subunits;
}
/**
* Accept a void visitor
*/
public void accept(VoidVisitor v) { v.visit(this); }
/**
* Accept a returning visitor
*/
public <R> R accept(ReturningVisitor<R> v) { return v.visit(this); }
}