/******************************************************************************* | |
* Copyright (c) 1998, 2008 Oracle. All rights reserved. | |
* This program and the accompanying materials are made available under the | |
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 | |
* which accompanies this distribution. | |
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html | |
* and the Eclipse Distribution License is available at | |
* http://www.eclipse.org/org/documents/edl-v10.php. | |
* | |
* Contributors: | |
* dclarke - JPA DAS INCUBATOR - Enhancement 258057 | |
* http://wiki.eclipse.org/EclipseLink/Development/SDO-JPA | |
* | |
* This code is being developed under INCUBATION and is not currently included | |
* in the automated EclipseLink build. The API in this code may change, or | |
* may never be included in the product. Please provide feedback through mailing | |
* lists or the bug database. | |
******************************************************************************/ | |
package model; | |
import java.sql.Time; | |
import java.util.ArrayList; | |
import java.util.List; | |
/** | |
* | |
* @author dclarke | |
* @since EclipseLink 1.1 | |
*/ | |
public class Employee { | |
private int id; | |
private String firstName; | |
private Gender gender = Gender.Male; | |
private String lastName; | |
private Time startTime; | |
private Time endTime; | |
private long version; | |
private Employee manager; | |
private List<Employee> managedEmployees = new ArrayList<Employee>(); | |
private List<PhoneNumber> phoneNumbers = new ArrayList<PhoneNumber>(); | |
private Address address; | |
private EmploymentPeriod period; | |
private double salary; | |
private List<String> responsibilities = new ArrayList<String>(); | |
public Employee() { | |
} | |
public int getId() { | |
return id; | |
} | |
public void setId(int empId) { | |
this.id = empId; | |
} | |
public Time getEndTime() { | |
return this.endTime; | |
} | |
public void setEndTime(Time endTime) { | |
this.endTime = endTime; | |
} | |
public String getFirstName() { | |
return firstName; | |
} | |
public void setFirstName(String fName) { | |
this.firstName = fName; | |
} | |
public Gender getGender() { | |
return this.gender; | |
} | |
public void setGender(Gender gender) { | |
this.gender = gender; | |
} | |
public String getLastName() { | |
return lastName; | |
} | |
public void setLastName(String lName) { | |
this.lastName = lName; | |
} | |
public Time getStartTime() { | |
return startTime; | |
} | |
public void setStartTime(Time startTime) { | |
this.startTime = startTime; | |
} | |
public long getVersion() { | |
return version; | |
} | |
public void setVersion(long version) { | |
this.version = version; | |
} | |
public Employee getManager() { | |
return manager; | |
} | |
public void setManager(Employee employee) { | |
this.manager = employee; | |
} | |
public List<Employee> getManagedEmployees() { | |
return this.managedEmployees; | |
} | |
public void setManagedEmployees(List<Employee> employeeList) { | |
this.managedEmployees = employeeList; | |
} | |
public Employee addManagedEmployee(Employee employee) { | |
getManagedEmployees().add(employee); | |
employee.setManager(this); | |
return employee; | |
} | |
public Employee removeManagedEmployee(Employee employee) { | |
getManagedEmployees().remove(employee); | |
employee.setManager(null); | |
return employee; | |
} | |
public List<PhoneNumber> getPhoneNumbers() { | |
return phoneNumbers; | |
} | |
public void setPhoneNumbers(List<PhoneNumber> phoneNumberList) { | |
this.phoneNumbers = phoneNumberList; | |
} | |
public PhoneNumber addPhoneNumber(PhoneNumber phoneNumber) { | |
getPhoneNumbers().add(phoneNumber); | |
phoneNumber.setOwner(this); | |
return phoneNumber; | |
} | |
public PhoneNumber addPhoneNumber(String type, String number) { | |
PhoneNumber phoneNumber = new PhoneNumber(type, number); | |
return addPhoneNumber(phoneNumber); | |
} | |
public PhoneNumber removePhoneNumber(PhoneNumber phoneNumber) { | |
getPhoneNumbers().remove(phoneNumber); | |
phoneNumber.setOwner(null); | |
return phoneNumber; | |
} | |
public void setAddress(Address address) { | |
this.address = address; | |
} | |
public Address getAddress() { | |
return address; | |
} | |
public void setPeriod(EmploymentPeriod period) { | |
this.period = period; | |
} | |
public EmploymentPeriod getPeriod() { | |
return period; | |
} | |
public double getSalary() { | |
return salary; | |
} | |
public void setSalary(double salary) { | |
this.salary = salary; | |
} | |
public List<String> getResponsibilities() { | |
return this.responsibilities; | |
} | |
public void setResponsibilities(List<String> responsibilities) { | |
this.responsibilities = responsibilities; | |
} | |
public void addResponsibility(String responsibility) { | |
getResponsibilities().add(responsibility); | |
} | |
public void removeResponsibility(String responsibility) { | |
getResponsibilities().remove(responsibility); | |
} | |
} |