diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fcf40b79 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# intellij stuff +.idea +*.iml + +# eclipse stuff +.project +.settings +.classpath +.checkstyle +.factorypath +.fbExcludeFilterFile +.pmd +.pmdruleset.xml + +# build stuff +*.bak +target +.DS_Store +.class diff --git a/src/oops/SOLID/lsp/stack/before/StackWrong.java b/src/oops/SOLID/lsp/stack/before/StackWrong.java index 1170e573..3470c7dc 100644 --- a/src/oops/SOLID/lsp/stack/before/StackWrong.java +++ b/src/oops/SOLID/lsp/stack/before/StackWrong.java @@ -14,19 +14,20 @@ * so objects of ArrayList are not fully replaceable by the objects of stack. * */ -public class StackWrong extends ArrayList{ +public class StackWrong { + ArrayList list = new ArrayList<>(); private int topPointer = 0; public void push(Integer a) { - add(topPointer, a); + list.add(topPointer, a); topPointer++; } public void pop() { - remove(topPointer-1); + list.remove(topPointer-1); topPointer--; } public Integer top() { - return get(topPointer-1); + return list.get(topPointer-1); } public static void main(String[] args) { @@ -36,7 +37,6 @@ public static void main(String[] args) { System.out.println(st.top()); st.pop(); System.out.println(st.top()); - st.clear(); System.out.println(st.top()); } } diff --git a/src/oops/SOLID/singleResponsibilityPrinciple/before/Employee.java b/src/oops/SOLID/singleResponsibilityPrinciple/before/Employee.java index a742fac0..5518d2bb 100644 --- a/src/oops/SOLID/singleResponsibilityPrinciple/before/Employee.java +++ b/src/oops/SOLID/singleResponsibilityPrinciple/before/Employee.java @@ -22,6 +22,15 @@ public Employee(String fullName, int monthlyIncome){ this.lastName = names[1]; } + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + public String getEmail() { return this.firstName + "." + this.lastName + @@ -63,32 +72,4 @@ public String getFullName(){ return this.firstName + " " + this.lastName; } - public void save(){ - try { - Employee employee =this; - StringBuilder sb = new StringBuilder(); - sb.append("### EMPLOYEE RECORD ####"); - sb.append(System.lineSeparator()); - sb.append("NAME: "); - sb.append(employee.firstName + " " + employee.lastName); - sb.append(System.lineSeparator()); - sb.append("POSITION: "); - sb.append(employee.getClass().getTypeName()); - sb.append(System.lineSeparator()); - sb.append("EMAIL: "); - sb.append(employee.getEmail()); - sb.append(System.lineSeparator()); - sb.append("MONTHLY WAGE: "); - sb.append(employee.monthlyIncome); - sb.append(System.lineSeparator()); - - Path path = Paths.get(employee.getFullName() - .replace(" ","_") + ".rec"); - Files.write(path, sb.toString().getBytes()); - - System.out.println("Saved employee " + employee.toString()); - } catch (IOException e){ - System.out.println("ERROR: Could not save employee. " + e); - } - } } diff --git a/src/oops/SOLID/singleResponsibilityPrinciple/before/EmployeeRepository.java b/src/oops/SOLID/singleResponsibilityPrinciple/before/EmployeeRepository.java index b76f4589..82b5398e 100644 --- a/src/oops/SOLID/singleResponsibilityPrinciple/before/EmployeeRepository.java +++ b/src/oops/SOLID/singleResponsibilityPrinciple/before/EmployeeRepository.java @@ -1,5 +1,9 @@ package oops.SOLID.singleResponsibilityPrinciple.before; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Arrays; import java.util.List; @@ -16,4 +20,33 @@ public List findAll(){ return Arrays.asList(anna, billy, steve, magda); } + + public void save(Employee employee){ + try { + StringBuilder sb = new StringBuilder(); + sb.append("### EMPLOYEE RECORD ####"); + sb.append(System.lineSeparator()); + sb.append("NAME: "); + sb.append(employee.getFirstName() + " " + employee.getLastName()); + sb.append(System.lineSeparator()); + sb.append("POSITION: "); + sb.append(employee.getClass().getTypeName()); + sb.append(System.lineSeparator()); + sb.append("EMAIL: "); + sb.append(employee.getEmail()); + sb.append(System.lineSeparator()); + sb.append("MONTHLY WAGE: "); + sb.append(employee.getMonthlyIncome()); + sb.append(System.lineSeparator()); + + Path path = Paths.get(employee.getFullName() + .replace(" ","_") + ".rec"); + Files.write(path, sb.toString().getBytes()); + + System.out.println("Saved employee " + employee.toString()); + } catch (IOException e){ + System.out.println("ERROR: Could not save employee. " + e); + } + } + } \ No newline at end of file diff --git a/src/oops/SOLID/singleResponsibilityPrinciple/before/SaveEmployeesMain.java b/src/oops/SOLID/singleResponsibilityPrinciple/before/SaveEmployeesMain.java index 3e30e5e9..3d69ce39 100644 --- a/src/oops/SOLID/singleResponsibilityPrinciple/before/SaveEmployeesMain.java +++ b/src/oops/SOLID/singleResponsibilityPrinciple/before/SaveEmployeesMain.java @@ -10,7 +10,7 @@ public static void main(String[] args) { // Save all for (Employee e : employees){ - e.save(); + repository.save(e); } } } \ No newline at end of file