The object to build.
39 | * @param The current builder.
40 | */
41 | abstract public class AbstractBuilder implements Builder
{
42 | private final P parent;
43 | private final T value;
44 | private final BiConsumer
parentBuilder;
45 |
46 | public AbstractBuilder(P parent, T value, BiConsumer
parentBuilder) {
47 | this.parent = parent;
48 | this.value = value;
49 | this.parentBuilder = parentBuilder;
50 | }
51 |
52 | @Override
53 | public final P build() {
54 | parentBuilder.accept(parent, value);
55 | return parent;
56 | }
57 |
58 | protected final B make(Consumer mixer) {
59 | mixer.accept(value);
60 | return (B) this;
61 | }
62 | }
63 |
64 | public class MyModelBuilder extends AbstractBuilder
> {
65 | public MyModelBuilder(P parent, MyModel value, BiConsumer
parentBuilder) {
66 | super(parent, value, parentBuilder);
67 | }
68 |
69 | protected MyModelBuilder
setKey(String key) {
70 | return make(v -> v.key = key);
71 | }
72 |
73 | public MyModelBuilder
setValue(String value) {
74 | return make(v -> v.value = value);
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics2.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.List;
4 | import java.util.Optional;
5 |
6 | public class TestGenerics2 {
7 | public List> getOptionals() {
8 | return optionals;
9 | }
10 |
11 | public void setOptionals(List> optionals) {
12 | this.optionals = optionals;
13 | }
14 |
15 | private List> optionals;
16 | }
17 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics3.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 | import java.util.Optional;
6 |
7 | public class TestGenerics3 {
8 | public Map>> getMap() {
9 | return map;
10 | }
11 |
12 | public void setMap(Map>> map) {
13 | this.map = map;
14 | }
15 |
16 | private Map>> map;
17 | }
18 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics4.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.HashMap;
4 | import java.util.List;
5 |
6 | public class TestGenerics4 extends HashMap> {
7 | }
8 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics5.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.Optional;
4 |
5 | public class TestGenerics5 extends AbstractGeneric {
6 | }
7 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics6.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.Optional;
4 |
5 | public class TestGenerics6 extends AbstractGeneric> {
6 | }
7 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics7.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.ArrayList;
4 | import java.util.HashMap;
5 |
6 | public class TestGenerics7 extends HashMap {
7 | }
8 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestGenerics8.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | import java.util.ArrayList;
4 | import java.util.HashMap;
5 | import java.util.List;
6 |
7 | public class TestGenerics8 extends HashMap {
8 | public static class ListType {}
9 | // TODO Wildcards not displayed with bounds.
10 | public void addList(List extends ListType> list) {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/test/java/info/leadinglight/umljavadoclet/generics/TestOption.java:
--------------------------------------------------------------------------------
1 | package info.leadinglight.umljavadoclet.generics;
2 |
3 | public class TestOption {
4 | }
5 |
--------------------------------------------------------------------------------