From 9beef514de3230a3d394aa99544bfc00cc27a956 Mon Sep 17 00:00:00 2001 From: Sagar Kanojia Date: Sat, 13 Feb 2021 01:28:09 +0530 Subject: [PATCH] Add: employee classes adapters --- .../adapter/EmployeeClient.java | 6 +++ .../adapter/adapters/EmployeeCSVAdapter.java | 41 +++++++++++++++++++ .../adapter/adapters/EmployeeLdapAdapter.java | 40 ++++++++++++++++++ 3 files changed, 87 insertions(+) create mode 100644 src/oops/designPatterns/adapter/adapters/EmployeeCSVAdapter.java create mode 100644 src/oops/designPatterns/adapter/adapters/EmployeeLdapAdapter.java diff --git a/src/oops/designPatterns/adapter/EmployeeClient.java b/src/oops/designPatterns/adapter/EmployeeClient.java index 6085419a..9ecc0609 100644 --- a/src/oops/designPatterns/adapter/EmployeeClient.java +++ b/src/oops/designPatterns/adapter/EmployeeClient.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.List; +import oops.designPatterns.adapter.adapters.EmployeeCSVAdapter; +import oops.designPatterns.adapter.adapters.EmployeeLdapAdapter; import oops.designPatterns.adapter.employees.Employee; import oops.designPatterns.adapter.employees.EmployeeCSV; import oops.designPatterns.adapter.employees.EmployeeDB; @@ -23,7 +25,11 @@ public List getEmployeeList() { //We have to add the data of all the employees to the employees list //But it only accepts objects of type Employee + employees.add(employeeFromDB); + employees.add(new EmployeeCSVAdapter(employeeFromCSV)); + + employees.add(new EmployeeLdapAdapter(employeeFromLdap)); return employees; diff --git a/src/oops/designPatterns/adapter/adapters/EmployeeCSVAdapter.java b/src/oops/designPatterns/adapter/adapters/EmployeeCSVAdapter.java new file mode 100644 index 00000000..40d8b451 --- /dev/null +++ b/src/oops/designPatterns/adapter/adapters/EmployeeCSVAdapter.java @@ -0,0 +1,41 @@ +package oops.designPatterns.adapter.adapters; + +import oops.designPatterns.adapter.employees.Employee; +import oops.designPatterns.adapter.employees.EmployeeCSV; + +public class EmployeeCSVAdapter implements Employee { + + private EmployeeCSV instance; + + public EmployeeCSVAdapter(EmployeeCSV instance) { + this.instance = instance; + } + + @Override + public String getId() { + return String.valueOf(instance.getId()); + } + + @Override + public String getFirstName() { + return instance.getFirstname(); + } + + @Override + public String getLastName() { + return instance.getLastname(); + } + + @Override + public String getEmail() { + return instance.getEmailAddress(); + } + + @Override + public String toString() { + return "EmployeeCSVAdapter [getId()=" + getId() + ", getFirstName()=" + getFirstName() + ", getLastName()=" + + getLastName() + ", getEmail()=" + getEmail() + "]"; + } + + +} diff --git a/src/oops/designPatterns/adapter/adapters/EmployeeLdapAdapter.java b/src/oops/designPatterns/adapter/adapters/EmployeeLdapAdapter.java new file mode 100644 index 00000000..b3d52758 --- /dev/null +++ b/src/oops/designPatterns/adapter/adapters/EmployeeLdapAdapter.java @@ -0,0 +1,40 @@ +package oops.designPatterns.adapter.adapters; + +import oops.designPatterns.adapter.employees.Employee; +import oops.designPatterns.adapter.employees.EmployeeLdap; + +public class EmployeeLdapAdapter implements Employee { + + private EmployeeLdap instance; + + public EmployeeLdapAdapter(EmployeeLdap instance) { + this.instance = instance; + } + + @Override + public String getId() { + return instance.getCn(); + } + + @Override + public String getFirstName() { + return instance.getGivenName(); + } + + @Override + public String getLastName() { + return instance.getSurname(); + } + + @Override + public String getEmail() { + return instance.getMail(); + } + + @Override + public String toString() { + return "EmployeeLdapAdapter [getId()=" + getId() + ", getFirstName()=" + getFirstName() + ", getLastName()=" + + getLastName() + ", getEmail()=" + getEmail() + "]"; + } + +}