Skip to content

Commit aea1c88

Browse files
FabrizioFabrizio
authored andcommitted
commit
1 parent ba96053 commit aea1c88

File tree

9 files changed

+168
-0
lines changed

9 files changed

+168
-0
lines changed

TemplateMethod/.classpath

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
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>

TemplateMethod/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/bin/

TemplateMethod/.project

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
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
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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+
}

TemplateMethod/src/Main.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
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+
}

TemplateMethod/src/Person.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
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+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
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+
}

0 commit comments

Comments
 (0)