@@ -13,20 +13,74 @@ public class Client {
1313 public static void main (String [] args ) {
1414 System .out .println (" Composite Design Pattern Organizational Tree" );
1515
16- ManagerEmployee managerEmployee = new ManagerEmployee ("Aseem" );
17- ManagerEmployee managerEmployee1 = new ManagerEmployee ("Kinesh" );
18- ManagerEmployee managerEmployee2 = new ManagerEmployee ("Karteek" );
16+ // Treating all employees in uniform way ( no discrimination )
17+ Employee CTO = new Employee ("Aseem" ,1 );
1918
20- NonManagerEmployee nonManagerEmployee1 = new NonManagerEmployee ("Ash" );
21- NonManagerEmployee nonManagerEmployee2 = new NonManagerEmployee ("Amy" );
19+ Employee level_1_1 = new Employee ("Kinesh" ,2 );
20+ Employee level_1_2 = new Employee ("Karteek" ,3 );
21+ Employee level_1_3 = new Employee ("Ash" ,4 );
2222
23- Map managerEmployees = new HashMap ();
24- managerEmployees .put (managerEmployee ,managerEmployee1 );
25- managerEmployees .put (managerEmployee1 ,managerEmployee2 );
26- managerEmployees .put (managerEmployee ,nonManagerEmployee1 );
27- managerEmployees .put (managerEmployee ,nonManagerEmployee2 );
23+ Employee level_2_1 = new Employee ("Amy" ,5 );
24+ Employee level_2_2 = new Employee ("Courty" ,6 );
25+ Employee level_2_3 = new Employee ("Jackson" ,7 );
26+ Employee level_2_4 = new Employee ("Leticia" ,8 );
2827
29- System .out .println (managerEmployees );
28+ Employee level_3_1 = new Employee ("Peter" ,9 );
29+ Employee level_3_2 = new Employee ("Jodi" ,10 );
30+ Employee level_3_3 = new Employee ("William" ,11 );
31+ Employee level_3_4 = new Employee ("Darly" ,12 );
32+
33+ // Using tree structure in natural way with Leaf and branch
34+ CTO .addSubordinate (level_1_1 );
35+ CTO .addSubordinate (level_1_2 );
36+ CTO .addSubordinate (level_1_3 );
37+
38+ // adding level 1 subordinates in tree
39+ level_1_1 .addSubordinate (level_2_1 );
40+ level_1_1 .addSubordinate (level_2_2 );
41+
42+ level_1_2 .addSubordinate (level_2_3 );
43+ level_1_2 .addSubordinate (level_2_4 );
44+
45+ // adding level 2 subordinates in tree
46+ level_2_2 .addSubordinate (level_3_1 );
47+ level_2_2 .addSubordinate (level_3_2 );
48+
49+ level_2_3 .addSubordinate (level_3_3 );
50+ level_2_3 .addSubordinate (level_3_4 );
51+
52+ // Manager details
53+ System .out .println ("Details of Leaf - Non Manager" );
54+ level_2_2 .showEmployeeDetails ();
55+
56+
57+ // Non Manager details
58+ System .out .println ("Details of Branch - Manager" );
59+ level_3_1 .showEmployeeDetails ();
60+
61+ System .out .println ("Details of full tree / entire organization " );
62+ CTO .showEmployeeDetails ();
63+
64+
65+
66+ /* OLD discarded code */
67+
68+ // ManagerEmployee managerEmployee = new ManagerEmployee("Aseem");
69+ // ManagerEmployee managerEmployee1 = new ManagerEmployee("Kinesh");
70+ // ManagerEmployee managerEmployee2 = new ManagerEmployee("Karteek");
71+ //
72+ // NonManagerEmployee nonManagerEmployee1 = new NonManagerEmployee("Ash");
73+ // NonManagerEmployee nonManagerEmployee2 = new NonManagerEmployee("Amy");
74+ //
75+ // Map managerEmployees = new HashMap();
76+ // // Manager can have another manager under him
77+ // managerEmployees.put(managerEmployee,managerEmployee1);
78+ // // Manager can have non manager under him
79+ // managerEmployees.put(managerEmployee,nonManagerEmployee1);
80+ // managerEmployees.put(managerEmployee,nonManagerEmployee2);
81+ // managerEmployees.put(managerEmployee1,managerEmployee2);
82+ //
83+ // System.out.println(managerEmployees);
3084
3185 }
3286}
0 commit comments