package com.googlecode.tawus.app0.models;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.validation.constraints.NotNull;
@Entity
public class User {
private Long id;
@NotNull
private String name;
private String address;
private Gender gender;
private Date dob;
private Integer age;
private Department department;
private List<Department> otherDepartments = new ArrayList<Department>();
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
public void setGender(Gender gender) {
this.gender = gender;
}
public Gender getGender() {
return gender;
}
public void setDob(Date dob) {
this.dob = dob;
}
public Date getDob() {
return dob;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getAge() {
return age;
}
public void setDepartment(Department department) {
this.department = department;
}
public Department getDepartment() {
return department;
}
@Override
public String toString(){
if(name == null){
return "unnamed";
}
return name;
}
@Override
public boolean equals(Object object){
if(object == this){
return true;
}
if(object == null || !(object instanceof User)){
return false;
}
User user = (User)object;
if(user.getName() == null){
return false;
}
return user.getName().equals(name);
}
@Override
public int hashCode(){
return name.hashCode();
}
public void setOtherDepartments(List<Department> otherDepartments) {
this.otherDepartments = otherDepartments;
}
public List<Department> getOtherDepartments() {
return otherDepartments;
}
}