Skip to content

Commit f1a7c45

Browse files
REFACTORING: Cleaning up....
1 parent 172c0ef commit f1a7c45

14 files changed

+211
-265
lines changed
Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,36 @@
11
package com.mgs.fantasi.structure;
22

33
import com.mgs.fantasi.structure.bluePrint.BluePrint;
4-
import com.mgs.fantasi.structure.bluePrintPatterns.BluePrintBuilderPattern;
4+
import com.mgs.fantasi.structure.bluePrintPatterns.BluePrintBuilder;
55
import com.mgs.fantasi.wireframe.Wireframe;
66

77
public abstract class BluePrintBuilderFactory {
88

9-
public static BluePrintBuilder newBluePrintBuilder(String name) {
10-
return new BluePrintBuilder(name);
9+
public static BluePrintBuilderHelper createCanvas(String name) {
10+
return new BluePrintBuilderHelper(name);
1111
}
1212

13-
public static class BluePrintBuilder {
13+
public static class BluePrintBuilderHelper {
1414
private final String name;
1515
private Wireframe wireframe;
16-
private BluePrintBuilderPattern builderPattern;
16+
private BluePrintBuilder builder;
1717

18-
public BluePrintBuilder(String name) {
18+
public BluePrintBuilderHelper(String name) {
1919
this.name = name;
2020
}
2121

22-
public BluePrintBuilder withContent(BluePrintBuilderPattern builderPattern) {
23-
this.builderPattern = builderPattern;
24-
builderPattern.initialise(name, wireframe);
22+
public BluePrintBuilderHelper withContent(BluePrintBuilder builder) {
23+
this.builder = builder;
2524
return this;
2625
}
2726

28-
public BluePrintBuilder withFrame(Wireframe wireframe) {
27+
public BluePrintBuilderHelper withFrame(Wireframe wireframe) {
2928
this.wireframe = wireframe;
3029
return this;
3130
}
3231

3332
public BluePrint build() {
34-
return builderPattern.buildBlueprint();
33+
return builder.buildBlueprint(name, wireframe);
3534
}
3635
}
3736
}
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
import com.mgs.fantasi.structure.bluePrint.BluePrint;
44
import com.mgs.fantasi.wireframe.Wireframe;
55

6-
public interface BluePrintBuilderPattern {
6+
public interface BluePrintBuilder {
77

8-
void initialise(String name, Wireframe wireframe);
9-
10-
BluePrint buildBlueprint();
8+
BluePrint buildBlueprint(String name, Wireframe wireframe);
119

1210
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.mgs.fantasi.structure.bluePrintPatterns;
2+
3+
import com.mgs.fantasi.structure.bluePrint.BluePrint;
4+
import com.mgs.fantasi.structure.bluePrint.NoChildrenBluePrint;
5+
import com.mgs.fantasi.wireframe.Wireframe;
6+
7+
public class EmptyRectangleBuilder implements BluePrintBuilder {
8+
@Override
9+
public BluePrint buildBlueprint(String name, Wireframe wireframe) {
10+
return new NoChildrenBluePrint(name, wireframe);
11+
}
12+
}

invasionII/src/main/java/com/mgs/fantasi/structure/bluePrintPatterns/EmptyRectangleBuilderPattern.java

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.mgs.fantasi.structure.bluePrintPatterns;
2+
3+
import com.mgs.fantasi.structure.BluePrintBuilderFactory;
4+
import com.mgs.fantasi.structure.bluePrint.BluePrint;
5+
import com.mgs.fantasi.structure.bluePrint.GridBluePrint;
6+
import com.mgs.fantasi.wireframe.Wireframe;
7+
8+
import java.awt.*;
9+
10+
public class HorizontalRepeaterBuilder implements BluePrintBuilder {
11+
private BluePrintBuilderFactory.BluePrintBuilderHelper bluePrintBuilderHelperPattern;
12+
private int numberOfGenerations;
13+
14+
public HorizontalRepeaterBuilder repeating(BluePrintBuilderFactory.BluePrintBuilderHelper bluePrintBuilderHelperPattern) {
15+
this.bluePrintBuilderHelperPattern = bluePrintBuilderHelperPattern;
16+
return this;
17+
}
18+
19+
public HorizontalRepeaterBuilder repetitions(int numberOfGenerations) {
20+
this.numberOfGenerations = numberOfGenerations;
21+
return this;
22+
}
23+
24+
@Override
25+
public BluePrint buildBlueprint(String name, Wireframe wireframe) {
26+
return new GridBluePrint(name, wireframe)
27+
.withDimension(new Dimension(1, numberOfGenerations))
28+
.allCellsWith(bluePrintBuilderHelperPattern.build());
29+
}
30+
}

invasionII/src/main/java/com/mgs/fantasi/structure/bluePrintPatterns/HorizontalRepeaterBuilderPattern.java

Lines changed: 0 additions & 38 deletions
This file was deleted.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.mgs.fantasi.structure.bluePrintPatterns;
2+
3+
import com.mgs.fantasi.structure.BluePrintBuilderFactory;
4+
import com.mgs.fantasi.structure.bluePrint.BluePrint;
5+
import com.mgs.fantasi.structure.bluePrint.LayeredElementsBluePrint;
6+
import com.mgs.fantasi.wireframe.Wireframe;
7+
8+
import java.util.ArrayList;
9+
import java.util.List;
10+
11+
public class LayeredBuilder implements BluePrintBuilder {
12+
private final List<BluePrintBuilderFactory.BluePrintBuilderHelper> layers = new ArrayList<BluePrintBuilderFactory.BluePrintBuilderHelper>();
13+
14+
private LayeredBuilder() {
15+
}
16+
17+
public static LayeredBuilder layered() {
18+
return new LayeredBuilder();
19+
}
20+
21+
public LayeredBuilder withLayer(BluePrintBuilderFactory.BluePrintBuilderHelper layer) {
22+
layers.add(layer);
23+
return this;
24+
}
25+
26+
@Override
27+
public BluePrint buildBlueprint(String name, Wireframe wireframe) {
28+
LayeredElementsBluePrint layeredElementsBluePrint = new LayeredElementsBluePrint(name, wireframe);
29+
for (BluePrintBuilderFactory.BluePrintBuilderHelper layer : layers) {
30+
layeredElementsBluePrint.withLayer(layer.build());
31+
}
32+
return layeredElementsBluePrint;
33+
}
34+
}

invasionII/src/main/java/com/mgs/fantasi/structure/bluePrintPatterns/LayeredBuilderPattern.java

Lines changed: 0 additions & 42 deletions
This file was deleted.
Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,28 @@
99

1010
import java.awt.*;
1111

12-
public class TwoLinesBuilderPattern implements BluePrintBuilderPattern {
13-
private String name;
14-
private Wireframe wireframe;
12+
public class TwoLinesBuilder implements BluePrintBuilder {
1513
private Fraction firstLineHeightSizeRatio;
16-
private BluePrintBuilderFactory.BluePrintBuilder firstLine;
17-
private BluePrintBuilderFactory.BluePrintBuilder secondLine;
14+
private BluePrintBuilderFactory.BluePrintBuilderHelper firstLine;
15+
private BluePrintBuilderFactory.BluePrintBuilderHelper secondLine;
1816

19-
public TwoLinesBuilderPattern withFirstLineHeightSizeRatio(Fraction firstLineHeightSizeRatio) {
17+
public TwoLinesBuilder withFirstLineHeightSizeRatio(Fraction firstLineHeightSizeRatio) {
2018
this.firstLineHeightSizeRatio = firstLineHeightSizeRatio;
2119
return this;
2220
}
2321

24-
public TwoLinesBuilderPattern withFirstLineTreeBuilder(BluePrintBuilderFactory.BluePrintBuilder firstLine) {
22+
public TwoLinesBuilder withFirstLineTreeBuilder(BluePrintBuilderFactory.BluePrintBuilderHelper firstLine) {
2523
this.firstLine = firstLine;
2624
return this;
2725
}
2826

29-
public TwoLinesBuilderPattern withSecondLineTreeBuilder(BluePrintBuilderFactory.BluePrintBuilder secondLine) {
27+
public TwoLinesBuilder withSecondLineTreeBuilder(BluePrintBuilderFactory.BluePrintBuilderHelper secondLine) {
3028
this.secondLine = secondLine;
3129
return this;
3230
}
3331

3432
@Override
35-
public void initialise(String name, Wireframe wireframe) {
36-
this.name = name;
37-
this.wireframe = wireframe;
38-
}
39-
40-
@Override
41-
public BluePrint buildBlueprint() {
33+
public BluePrint buildBlueprint(String name, Wireframe wireframe) {
4234
Fraction remainder = Fractions.allWithBase(firstLineHeightSizeRatio.getBase()).minus(firstLineHeightSizeRatio);
4335
return new GridBluePrint(name, wireframe)
4436
.withDimension(new Dimension(1, 2))
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.mgs.fantasi.structure.bluePrintPatterns;
2+
3+
import com.mgs.fantasi.structure.BluePrintBuilderFactory;
4+
import com.mgs.fantasi.structure.bluePrint.BluePrint;
5+
import com.mgs.fantasi.structure.bluePrint.GridBluePrint;
6+
import com.mgs.fantasi.wireframe.Wireframe;
7+
8+
import java.awt.*;
9+
10+
public class VerticalRepeaterBuilder implements BluePrintBuilder {
11+
private BluePrintBuilderFactory.BluePrintBuilderHelper bluePrintBuilderHelperPattern;
12+
private int numberOfGenerations;
13+
14+
public VerticalRepeaterBuilder repeating(BluePrintBuilderFactory.BluePrintBuilderHelper bluePrintBuilderHelper) {
15+
this.bluePrintBuilderHelperPattern = bluePrintBuilderHelper;
16+
return this;
17+
}
18+
19+
public VerticalRepeaterBuilder repetitions(int numberOfGenerations) {
20+
this.numberOfGenerations = numberOfGenerations;
21+
return this;
22+
}
23+
24+
@Override
25+
public BluePrint buildBlueprint(String name, Wireframe wireframe) {
26+
return new GridBluePrint(name, wireframe)
27+
.withDimension(new Dimension(numberOfGenerations, 1))
28+
.allCellsWith(bluePrintBuilderHelperPattern.build());
29+
}
30+
}

0 commit comments

Comments
 (0)