File tree Expand file tree Collapse file tree 3 files changed +69
-65
lines changed
adapter/src/main/java/com/iluwatar/adapter Expand file tree Collapse file tree 3 files changed +69
-65
lines changed Original file line number Diff line number Diff line change 1- package com .iluwatar .adapter ;
2-
3- /**
4- *
5- * There are two variations of the Adapter pattern: The class adapter implements
6- * the adaptee's interface whereas the object adapter uses composition to
7- * contain the adaptee in the adapter object. This example uses the object
8- * adapter approach.
9- *
10- * The Adapter (GnomeEngineer) converts the interface of the target class
11- * (GoblinGlider) into a suitable one expected by the client
12- * (GnomeEngineeringManager).
13- *
14- */
15- public class App {
16-
17- public static void main (String [] args ) {
18- Engineer manager = new GnomeEngineeringManager ();
19- manager .operateDevice ();
20- }
21- }
1+ package com .iluwatar .adapter ;
2+
3+ /**
4+ *
5+ * There are two variations of the Adapter pattern: The class adapter implements
6+ * the adaptee's interface whereas the object adapter uses composition to
7+ * contain the adaptee in the adapter object. This example uses the object
8+ * adapter approach.
9+ * <p>
10+ * The Adapter ({@link GnomeEngineer}) converts the interface of the target class
11+ * ({@link GoblinGlider}) into a suitable one expected by the client
12+ * ({@link GnomeEngineeringManager}).
13+ *
14+ */
15+ public class App {
16+
17+ /**
18+ * Program entry point
19+ * @param args command line args
20+ */
21+ public static void main (String [] args ) {
22+ Engineer manager = new GnomeEngineeringManager ();
23+ manager .operateDevice ();
24+ }
25+ }
Original file line number Diff line number Diff line change 1- package com .iluwatar .adapter ;
2-
3- /**
4- *
5- * Adapter class. Adapts the interface of the device (GoblinGlider) into
6- * Engineer interface expected by the client (GnomeEngineeringManager).
7- *
8- */
9- public class GnomeEngineer implements Engineer {
10-
11- private GoblinGlider glider ;
12-
13- public GnomeEngineer () {
14- glider = new GoblinGlider ();
15- }
16-
17- @ Override
18- public void operateDevice () {
19- glider .attachGlider ();
20- glider .gainSpeed ();
21- glider .takeOff ();
22- }
23-
24- }
1+ package com .iluwatar .adapter ;
2+
3+ /**
4+ *
5+ * Adapter class. Adapts the interface of the device ({@link GoblinGlider} ) into
6+ * {@link Engineer} interface expected by the client ({@link GnomeEngineeringManager} ).
7+ *
8+ */
9+ public class GnomeEngineer implements Engineer {
10+
11+ private GoblinGlider glider ;
12+
13+ public GnomeEngineer () {
14+ glider = new GoblinGlider ();
15+ }
16+
17+ @ Override
18+ public void operateDevice () {
19+ glider .attachGlider ();
20+ glider .gainSpeed ();
21+ glider .takeOff ();
22+ }
23+
24+ }
Original file line number Diff line number Diff line change 1- package com .iluwatar .adapter ;
2-
3- /**
4- *
5- * GnomeEngineering manager uses Engineer to operate devices.
6- *
7- */
8- public class GnomeEngineeringManager implements Engineer {
9-
10- private Engineer engineer ;
11-
12- public GnomeEngineeringManager () {
13- engineer = new GnomeEngineer ();
14- }
15-
16- @ Override
17- public void operateDevice () {
18- engineer .operateDevice ();
19- }
20- }
1+ package com .iluwatar .adapter ;
2+
3+ /**
4+ *
5+ * GnomeEngineering manager uses {@link Engineer} to operate devices.
6+ *
7+ */
8+ public class GnomeEngineeringManager implements Engineer {
9+
10+ private Engineer engineer ;
11+
12+ public GnomeEngineeringManager () {
13+ engineer = new GnomeEngineer ();
14+ }
15+
16+ @ Override
17+ public void operateDevice () {
18+ engineer .operateDevice ();
19+ }
20+ }
You can’t perform that action at this time.
0 commit comments