File tree Expand file tree Collapse file tree 9 files changed +168
-0
lines changed Expand file tree Collapse file tree 9 files changed +168
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <classpath >
3
+ <classpathentry kind =" src" path =" src" />
4
+ <classpathentry kind =" con" path =" org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" />
5
+ <classpathentry kind =" output" path =" bin" />
6
+ </classpath >
Original file line number Diff line number Diff line change
1
+ /bin /
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
2
+ <projectDescription >
3
+ <name >TemplateMethod</name >
4
+ <comment ></comment >
5
+ <projects >
6
+ </projects >
7
+ <buildSpec >
8
+ <buildCommand >
9
+ <name >org.eclipse.jdt.core.javabuilder</name >
10
+ <arguments >
11
+ </arguments >
12
+ </buildCommand >
13
+ </buildSpec >
14
+ <natures >
15
+ <nature >org.eclipse.jdt.core.javanature</nature >
16
+ </natures >
17
+ </projectDescription >
Original file line number Diff line number Diff line change
1
+ eclipse.preferences.version =1
2
+ org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode =enabled
3
+ org.eclipse.jdt.core.compiler.codegen.targetPlatform =1.8
4
+ org.eclipse.jdt.core.compiler.codegen.unusedLocal =preserve
5
+ org.eclipse.jdt.core.compiler.compliance =1.8
6
+ org.eclipse.jdt.core.compiler.debug.lineNumber =generate
7
+ org.eclipse.jdt.core.compiler.debug.localVariable =generate
8
+ org.eclipse.jdt.core.compiler.debug.sourceFile =generate
9
+ org.eclipse.jdt.core.compiler.problem.assertIdentifier =error
10
+ org.eclipse.jdt.core.compiler.problem.enumIdentifier =error
11
+ org.eclipse.jdt.core.compiler.source =1.8
Original file line number Diff line number Diff line change
1
+ import java .io .File ;
2
+ import java .io .FileWriter ;
3
+ import java .io .IOException ;
4
+
5
+ public class HTMLTransformer extends Transformer {
6
+
7
+ public HTMLTransformer () {}
8
+
9
+ @ Override
10
+ public void doOperation (Person person ) {
11
+ FileWriter fileWriter ;
12
+ try {
13
+ fileWriter = new FileWriter (new File ("person.html" ));
14
+
15
+ fileWriter .write ("<html>" + "\n " + "<head>" + "</head>" + "\n " + "<body>" + "\n " );
16
+ fileWriter .write ("<h1>" + person .getName () + "</h1>" + "\n " );
17
+ fileWriter .write ("<h1>" + person .getSurname () + "</h1>" + "\n " );
18
+ fileWriter .write ("<h1>" + person .getAge () + "</h1>" + "\n " );
19
+ fileWriter .write ("</body>" + "\n " + "</html>" );
20
+ fileWriter .flush ();
21
+ fileWriter .close ();
22
+
23
+ } catch (IOException e ) {
24
+ e .printStackTrace ();
25
+ }
26
+ }
27
+
28
+ @ Override
29
+ public void finish () {
30
+ System .out .println ("The object has been converted into html." );
31
+ }
32
+ }
Original file line number Diff line number Diff line change
1
+
2
+ public class Main {
3
+ public static void main (String [] args ) {
4
+ Person person = new Person ("Diego" ,"Milito" ,34 );
5
+ Transformer transformer = new XMLTransformer ();
6
+ transformer .transform (person );
7
+ transformer = new HTMLTransformer ();
8
+ transformer .transform (person );
9
+ }
10
+ }
Original file line number Diff line number Diff line change
1
+
2
+ public class Person {
3
+
4
+ private String name ;
5
+
6
+ private String surname ;
7
+
8
+ private int age ;
9
+
10
+ public Person (String name , String surname , int age ) {
11
+ this .name = name ;
12
+ this .surname = surname ;
13
+ this .age = age ;
14
+ }
15
+
16
+ public String getName () {
17
+ return name ;
18
+ }
19
+
20
+ public void setName (String name ) {
21
+ this .name = name ;
22
+ }
23
+
24
+ public String getSurname () {
25
+ return surname ;
26
+ }
27
+
28
+ public void setSurname (String surname ) {
29
+ this .surname = surname ;
30
+ }
31
+
32
+ public int getAge () {
33
+ return age ;
34
+ }
35
+
36
+ public void setAge (int age ) {
37
+ this .age = age ;
38
+ }
39
+
40
+ @ Override
41
+ public String toString () {
42
+ return "[" + name + "," + surname + "," + age + "]" ;
43
+ }
44
+ }
Original file line number Diff line number Diff line change
1
+
2
+ public abstract class Transformer {
3
+
4
+ public void transform (Person person ) {
5
+ doOperation (person );
6
+ finish ();
7
+ }
8
+
9
+ public void doSomething () {
10
+ System .out .println ("do something..." );
11
+ }
12
+
13
+ public abstract void doOperation (Person person );
14
+
15
+ public abstract void finish ();
16
+ }
Original file line number Diff line number Diff line change
1
+ import java .io .File ;
2
+ import java .io .FileWriter ;
3
+ import java .io .IOException ;
4
+
5
+ public class XMLTransformer extends Transformer {
6
+
7
+ public XMLTransformer () {}
8
+
9
+ @ Override
10
+ public void doOperation (Person person ) {
11
+ FileWriter fileWriter ;
12
+ try {
13
+ fileWriter = new FileWriter (new File ("person.xml" ));
14
+ fileWriter .write ("<person>" + "\n " );
15
+ fileWriter .write ("<name>" + person .getName () + "</name>" + "\n " );
16
+ fileWriter .write ("<surname>" + person .getSurname () + "</surname>" + "\n " );
17
+ fileWriter .write ("<age>" + person .getAge () + "</age>" + "\n " );
18
+ fileWriter .write ("</person>" );
19
+ fileWriter .flush ();
20
+ fileWriter .close ();
21
+
22
+ } catch (IOException e ) {
23
+ e .printStackTrace ();
24
+ }
25
+ }
26
+
27
+ @ Override
28
+ public void finish () {
29
+ System .out .println ("The object has been converted into xml." );
30
+ }
31
+ }
You can’t perform that action at this time.
0 commit comments