1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.config;
17
18 import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
19 import static org.mybatis.generator.internal.util.messages.Messages.getString;
20
21 import java.util.List;
22 import java.util.Objects;
23
24 import org.jspecify.annotations.Nullable;
25
26 public class SqlMapGeneratorConfiguration extends PropertyHolder {
27 private final String targetPackage;
28 private final String targetProject;
29
30 protected SqlMapGeneratorConfiguration(Builder builder) {
31 super(builder);
32 this.targetPackage = Objects.requireNonNull(builder.targetPackage);
33 this.targetProject = Objects.requireNonNull(builder.targetProject);
34 }
35
36 public String getTargetProject() {
37 return targetProject;
38 }
39
40 public String getTargetPackage() {
41 return targetPackage;
42 }
43
44 public void validate(List<String> errors, String contextId) {
45 if (!stringHasValue(targetProject)) {
46 errors.add(getString("ValidationError.1", contextId));
47 }
48
49 if (!stringHasValue(targetPackage)) {
50 errors.add(getString("ValidationError.12",
51 "SQLMapGenerator", contextId));
52 }
53 }
54
55 public static class Builder extends AbstractBuilder<Builder> {
56 private @Nullable String targetPackage;
57 private @Nullable String targetProject;
58
59 public Builder withTargetPackage(@Nullable String targetPackage) {
60 this.targetPackage = targetPackage;
61 return this;
62 }
63
64 public Builder withTargetProject(@Nullable String targetProject) {
65 this.targetProject = targetProject;
66 return this;
67 }
68
69 public SqlMapGeneratorConfiguration build() {
70 return new SqlMapGeneratorConfiguration(this);
71 }
72
73 @Override
74 protected Builder getThis() {
75 return this;
76 }
77 }
78 }