Employee.java
public class Employee {
protected String firstName,lastName;
protected String employeeId;
public Employee(String firstName, String lastName,String employeeId){
this.firstName=firstName;
this.lastName=lastName;
this.employeeId=employeeId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmployeeId() {
return employeeId;
}
public void setEmployeeId(String employeeId) {
this.employeeId = employeeId;
}
public String getfirstName() {
return firstName;
}
public void setlastName(String lastName) {
this.lastName = lastName;
}
}
RegisteredEmployee.java
public class RegisteredEmployee extends Employee {
public RegisteredEmployee(String firstName, String lastName,String employeeId){
super(firstName,lastName,employeeId);
}
@Override
public String toString(){
return "firstName :"+firstName+", lastName : "+lastName;
}
}
NullEmployee.java
public class NullEmployee extends Employee{
public NullEmployee(){
super(null,null,null);
}
public String toString(){
return "Employee does not exist";
}
}
EmployeeRegister.java
import java.util.HashMap;
import java.util.Map;
public class EmployeeRegister {
private Map employeeList;
public EmployeeRegister(){
employeeList = new HashMap();
}
public Employee getEmployee(String employeeId){
Employee employee = employeeList.get(employeeId);
if(employee==null)
employee = new NullEmployee();
return employee;
}
public void registerEmployee(Employee employee){
if(employee instanceof NullEmployee)
return;
employeeList.put(employee.getEmployeeId(), employee);
}
}
NullPointerDemo.java
public class NullPointerDemo {
public static void main(String[] args) {
//Prepare Employee register
EmployeeRegister register = new EmployeeRegister();
//employee1
register.registerEmployee(new RegisteredEmployee("Ina","Kose","111"));
register.registerEmployee(new RegisteredEmployee("Mina","Mose","112"));
register.registerEmployee(new RegisteredEmployee("Hina","Gose","113"));
register.registerEmployee(new RegisteredEmployee("Tina","Bose","114"));
//get Employee 113
System.out.println("Employee 113 :"+register.getEmployee("113"));
System.out.println("Employee 112 :"+register.getEmployee("112"));
System.out.println("Employee 115 :"+register.getEmployee("115"));
}
}
Output
