1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.api.dom.kotlin;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 public abstract class KotlinNamedItemContainer extends KotlinNamedItem {
22 private final List<KotlinNamedItem> namedItems = new ArrayList<>();
23
24 protected KotlinNamedItemContainer(NamedItemContainerBuilder<?> builder) {
25 super(builder);
26 namedItems.addAll(builder.namedItems);
27 }
28
29 public void addNamedItem(KotlinNamedItem namedItem) {
30 namedItems.add(namedItem);
31 }
32
33 public List<KotlinNamedItem> getNamedItems() {
34 return namedItems;
35 }
36
37 public abstract static class NamedItemContainerBuilder<T extends NamedItemContainerBuilder<T>>
38 extends AbstractBuilder<T> {
39
40 private final List<KotlinNamedItem> namedItems = new ArrayList<>();
41
42 protected NamedItemContainerBuilder(String name) {
43 super(name);
44 }
45
46 public T withNamedItem(KotlinNamedItem namedItem) {
47 namedItems.add(namedItem);
48 return getThis();
49 }
50
51 protected abstract T getThis();
52 }
53 }