File tree Expand file tree Collapse file tree 5 files changed +72
-4
lines changed
src/cn/ucaner/pattern/create/builder Expand file tree Collapse file tree 5 files changed +72
-4
lines changed Original file line number Diff line number Diff line change 24
24
public class BuilderTest {
25
25
26
26
public static void main (String [] args ) {
27
+
27
28
WolverineDirector director = new WolverineDirector ();
28
29
XMan wolverine = director .constructWolverine (new WolverineBuilder ());
29
30
String lover = wolverine .getLover ();
30
31
String getxFactor = wolverine .getxFactor ();
31
- System .out .println ("Lover:" +lover +" xFactor:" +getxFactor );
32
+ Integer age = wolverine .getAge ();
33
+ String name = wolverine .getName ();
34
+ System .out .println ("Lover:" +lover +" xFactor:" +getxFactor +" Name:" +name +" Age:" +age );
35
+ //System.gc();
36
+ System .out .println (wolverine .toString ());
32
37
}
33
38
}
39
+ //Outputs
40
+ //claw
41
+ //Jane
42
+ //Name is successfully built
43
+ //Age is successfully built
44
+ //Wolverine is successfully built
45
+ //Lover:Jane xFactor:claw Name:Wali Age:18
46
+ //cn.ucaner.pattern.create.builder.XMan@7852e922
Original file line number Diff line number Diff line change @@ -28,21 +28,48 @@ public class WolverineBuilder implements XManBuilder {
28
28
WolverineBuilder () {
29
29
mXMan = new XMan ();
30
30
}
31
+
32
+ // need to consider
31
33
34
+ /* @Override
32
35
public WolverineBuilder buildXFactor() {
33
36
mXMan.setxFactor("claw");
34
37
System.out.println(mXMan.getxFactor());
35
38
return this;
36
- }
39
+ }*/
40
+
41
+ @ Override
42
+ public XManBuilder buildXFactor () {
43
+ mXMan .setxFactor ("claw" );
44
+ System .out .println (mXMan .getxFactor ());
45
+ return this ;
46
+ }
37
47
48
+ @ Override
38
49
public WolverineBuilder buildLover () {
39
50
mXMan .setLover ("Jane" );
40
51
System .out .println (mXMan .getLover ());
41
52
return this ;
42
53
}
43
54
44
- public XMan buildXman () {
55
+ @ Override
56
+ public WolverineBuilder buildName () {
57
+ mXMan .setName ("Wali" );
58
+ System .out .println (mXMan .getName ());
59
+ return this ;
60
+ }
61
+
62
+ @ Override
63
+ public WolverineBuilder buildAge () {
64
+ mXMan .setAge (18 );
65
+ System .out .println (mXMan .getAge ());
66
+ return this ;
67
+ }
68
+
69
+ @ Override
70
+ public XMan buildXman () {
45
71
System .out .println ("Wolverine is successfully built" );
46
72
return mXMan ;
47
73
}
74
+
48
75
}
Original file line number Diff line number Diff line change @@ -27,6 +27,8 @@ public XMan constructWolverine(WolverineBuilder wolverineBuilder) {
27
27
return wolverineBuilder
28
28
.buildXFactor ()
29
29
.buildLover ()
30
+ .buildName ()
31
+ .buildAge ()
30
32
.buildXman ();
31
33
}
32
34
}
Original file line number Diff line number Diff line change 23
23
*/
24
24
public class XMan {
25
25
26
+ private String name ;
27
+
28
+ private Integer age ;
29
+
26
30
private String xFactor ;
27
31
28
32
private String lover ;
29
33
30
- public String getxFactor () {
34
+ public String getName () {
35
+ return name ;
36
+ }
37
+
38
+ public XMan setName (String name ) {
39
+ this .name = name ;
40
+ return this ;
41
+ }
42
+
43
+ public Integer getAge () {
44
+ return age ;
45
+ }
46
+
47
+ public XMan setAge (Integer age ) {
48
+ this .age = age ;
49
+ return this ;
50
+ }
51
+
52
+ public String getxFactor () {
31
53
return xFactor ;
32
54
}
33
55
Original file line number Diff line number Diff line change @@ -27,5 +27,9 @@ public interface XManBuilder {
27
27
28
28
XManBuilder buildLover ();
29
29
30
+ XManBuilder buildName ();
31
+
32
+ XManBuilder buildAge ();
33
+
30
34
XMan buildXman ();
31
35
}
You can’t perform that action at this time.
0 commit comments