diff --git a/.classpath b/.classpath
deleted file mode 100644
index 51a8bbad..00000000
--- a/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/.project b/.project
deleted file mode 100644
index 397bfe4e..00000000
--- a/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- LowLevelDesignConcepts
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/src/oops/.gitignore b/src/oops/.gitignore
new file mode 100644
index 00000000..ece6ae3c
--- /dev/null
+++ b/src/oops/.gitignore
@@ -0,0 +1,31 @@
+.gradle
+.idea/
+!.idea/icon*.png
+*.iml
+build/
+src/main/gen
+src/main/resources/templates.list
+src/main/resources/gitignore/*
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
diff --git a/src/oops/designPatterns/adapter/AdapterDemo.java b/src/oops/designPatterns/adapter/AdapterDemo.java
index b1976f6a..154861ea 100644
--- a/src/oops/designPatterns/adapter/AdapterDemo.java
+++ b/src/oops/designPatterns/adapter/AdapterDemo.java
@@ -12,6 +12,6 @@ public static void main(String[] args) {
List employees = client.getEmployeeList();
- System.out.println(employees);
+ employees.forEach(System.out::println);
}
}
diff --git a/src/oops/designPatterns/adapter/EmployeeClient.java b/src/oops/designPatterns/adapter/EmployeeClient.java
index 6085419a..4c0cdc9c 100644
--- a/src/oops/designPatterns/adapter/EmployeeClient.java
+++ b/src/oops/designPatterns/adapter/EmployeeClient.java
@@ -8,6 +8,8 @@
import oops.designPatterns.adapter.employees.EmployeeCSV;
import oops.designPatterns.adapter.employees.EmployeeDB;
import oops.designPatterns.adapter.employees.EmployeeLdap;
+import oops.designPatterns.adapter.employees.adapters.EmployeeCsvAdapter;
+import oops.designPatterns.adapter.employees.adapters.EmployeeLdapAdapter;
public class EmployeeClient {
@@ -16,14 +18,18 @@ public List getEmployeeList() {
List employees = new ArrayList<>();
Employee employeeFromDB = new EmployeeDB("1234", "John", "Wick", "john@wick.com");
-
- EmployeeLdap employeeFromLdap = new EmployeeLdap("chewie", "Solo", "Han", "han@solo.com");
-
+ employees.add(employeeFromDB);
+
+ EmployeeLdap employeeFromLdap = new EmployeeLdap("chewie", "Solo", "Han", "han@solo.com");
+ Employee employeeLdapAdapter = new EmployeeLdapAdapter(employeeFromLdap);
+ employees.add(employeeLdapAdapter);
+
EmployeeCSV employeeFromCSV = new EmployeeCSV("567,Sherlock,Holmes,sherlock@holmes.com");
-
+ Employee employeeCsvAdapter = new EmployeeCsvAdapter(employeeFromCSV);
+ employees.add(employeeCsvAdapter);
//We have to add the data of all the employees to the employees list
//But it only accepts objects of type Employee
-
+
return employees;
diff --git a/src/oops/designPatterns/adapter/employees/EmployeeCSV.java b/src/oops/designPatterns/adapter/employees/EmployeeCSV.java
index c8a45ce6..7746eae5 100644
--- a/src/oops/designPatterns/adapter/employees/EmployeeCSV.java
+++ b/src/oops/designPatterns/adapter/employees/EmployeeCSV.java
@@ -7,6 +7,9 @@ public class EmployeeCSV {
private int id;
private String firstname;
+
+
+
private String lastname;
private String emailAddress;
@@ -58,4 +61,14 @@ public void setLastname(String lastname) {
this.lastname = lastname;
}
+ @Override
+ public String toString() {
+ return "EmployeeCSV{" +
+ "id=" + id +
+ ", firstname='" + firstname + '\'' +
+ ", lastname='" + lastname + '\'' +
+ ", emailAddress='" + emailAddress + '\'' +
+ '}';
+ }
+
}
diff --git a/src/oops/designPatterns/adapter/employees/EmployeeLdap.java b/src/oops/designPatterns/adapter/employees/EmployeeLdap.java
index 43dc25b1..cce67b6b 100644
--- a/src/oops/designPatterns/adapter/employees/EmployeeLdap.java
+++ b/src/oops/designPatterns/adapter/employees/EmployeeLdap.java
@@ -5,6 +5,9 @@ public class EmployeeLdap {
private String cn;
private String surname;
+
+
+
private String givenName;
private String mail;
@@ -38,5 +41,15 @@ public String getMail() {
}
public void setMail(String mail) {
this.mail = mail;
- }
+ }
+
+ @Override
+ public String toString() {
+ return "EmployeeLdap{" +
+ "cn='" + cn + '\'' +
+ ", surname='" + surname + '\'' +
+ ", givenName='" + givenName + '\'' +
+ ", mail='" + mail + '\'' +
+ '}';
+ }
}
diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java
new file mode 100644
index 00000000..9ec360af
--- /dev/null
+++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeCsvAdapter.java
@@ -0,0 +1,37 @@
+package oops.designPatterns.adapter.employees.adapters;
+
+import oops.designPatterns.adapter.employees.Employee;
+import oops.designPatterns.adapter.employees.EmployeeCSV;
+
+public class EmployeeCsvAdapter implements Employee {
+ private final EmployeeCSV employeeCSV;
+
+ @Override
+ public String toString() {
+ return employeeCSV.toString();
+ }
+
+ public EmployeeCsvAdapter(EmployeeCSV employeeCSV) {
+ this.employeeCSV = employeeCSV;
+ }
+
+ @Override
+ public String getId() {
+ return String.valueOf(employeeCSV.getId());
+ }
+
+ @Override
+ public String getFirstName() {
+ return employeeCSV.getFirstname();
+ }
+
+ @Override
+ public String getLastName() {
+ return employeeCSV.getLastname();
+ }
+
+ @Override
+ public String getEmail() {
+ return employeeCSV.getEmailAddress();
+ }
+}
diff --git a/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java
new file mode 100644
index 00000000..3827ba84
--- /dev/null
+++ b/src/oops/designPatterns/adapter/employees/adapters/EmployeeLdapAdapter.java
@@ -0,0 +1,37 @@
+package oops.designPatterns.adapter.employees.adapters;
+
+import oops.designPatterns.adapter.employees.Employee;
+import oops.designPatterns.adapter.employees.EmployeeLdap;
+
+public class EmployeeLdapAdapter implements Employee {
+ private final EmployeeLdap employeeLdap;
+
+ @Override
+ public String toString() {
+ return employeeLdap.toString();
+ }
+
+ public EmployeeLdapAdapter(EmployeeLdap employeeLdap) {
+ this.employeeLdap = employeeLdap;
+ }
+
+ @Override
+ public String getId() {
+ return employeeLdap.getCn();
+ }
+
+ @Override
+ public String getFirstName() {
+ return employeeLdap.getGivenName();
+ }
+
+ @Override
+ public String getLastName() {
+ return employeeLdap.getSurname();
+ }
+
+ @Override
+ public String getEmail() {
+ return employeeLdap.getMail();
+ }
+}
diff --git a/src/oops/designPatterns/decorator/Client.java b/src/oops/designPatterns/decorator/Client.java
index f4ae96ae..bfbc330c 100644
--- a/src/oops/designPatterns/decorator/Client.java
+++ b/src/oops/designPatterns/decorator/Client.java
@@ -3,10 +3,6 @@
import oops.designPatterns.decorator.beverages.Beverage;
import oops.designPatterns.decorator.beverages.Cappuccino;
import oops.designPatterns.decorator.beverages.decorators.ChocolateDecorator;
-import oops.designPatterns.decorator.visualComponents.TextView;
-import oops.designPatterns.decorator.visualComponents.VisualComponent;
-import oops.designPatterns.decorator.visualComponents.decorators.BorderDecorator;
-import oops.designPatterns.decorator.visualComponents.decorators.ScrollDecorator;
public class Client {
@@ -25,7 +21,7 @@ public static void main(String[] args) {
Beverage coffee = new Cappuccino();
System.out.println(coffee.cost());
- Beverage coffeeWithCoholate = new ChocolateDecorator(new ChocolateDecorator(coffee));
+ Beverage coffeeWithCoholate = new ChocolateDecorator(coffee);
System.out.println(coffeeWithCoholate.cost());