1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3.javamapper;
17
18 import java.util.List;
19
20 import org.mybatis.generator.api.dom.java.CompilationUnit;
21 import org.mybatis.generator.api.dom.java.Interface;
22 import org.mybatis.generator.codegen.AbstractXmlGenerator;
23 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.AbstractJavaMapperMethodGenerator;
24 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedCountByExampleMethodGenerator;
25 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedDeleteByExampleMethodGenerator;
26 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedDeleteByPrimaryKeyMethodGenerator;
27 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedInsertMethodGenerator;
28 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedInsertSelectiveMethodGenerator;
29 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedSelectByExampleWithBLOBsMethodGenerator;
30 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedSelectByExampleWithoutBLOBsMethodGenerator;
31 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedSelectByPrimaryKeyMethodGenerator;
32 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByExampleSelectiveMethodGenerator;
33 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByExampleWithBLOBsMethodGenerator;
34 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator;
35 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByPrimaryKeySelectiveMethodGenerator;
36 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator;
37 import org.mybatis.generator.codegen.mybatis3.javamapper.elements.annotated.AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator;
38 import org.mybatis.generator.config.PropertyRegistry;
39 import org.mybatis.generator.internal.util.StringUtility;
40
41 public class AnnotatedClientGenerator extends JavaMapperGenerator {
42
43 public AnnotatedClientGenerator() {
44 super(false);
45 }
46
47 @Override
48 protected void addCountByExampleMethod(Interface interfaze) {
49 if (introspectedTable.getRules().generateCountByExample()) {
50 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedCountByExampleMethodGenerator();
51 initializeAndExecuteGenerator(methodGenerator, interfaze);
52 }
53 }
54
55 @Override
56 protected void addDeleteByExampleMethod(Interface interfaze) {
57 if (introspectedTable.getRules().generateDeleteByExample()) {
58 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedDeleteByExampleMethodGenerator();
59 initializeAndExecuteGenerator(methodGenerator, interfaze);
60 }
61 }
62
63 @Override
64 protected void addDeleteByPrimaryKeyMethod(Interface interfaze) {
65 if (introspectedTable.getRules().generateDeleteByPrimaryKey()) {
66 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedDeleteByPrimaryKeyMethodGenerator(false);
67 initializeAndExecuteGenerator(methodGenerator, interfaze);
68 }
69 }
70
71 @Override
72 protected void addInsertMethod(Interface interfaze) {
73 if (introspectedTable.getRules().generateInsert()) {
74 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedInsertMethodGenerator(false);
75 initializeAndExecuteGenerator(methodGenerator, interfaze);
76 }
77 }
78
79 @Override
80 protected void addInsertSelectiveMethod(Interface interfaze) {
81 if (introspectedTable.getRules().generateInsertSelective()) {
82 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedInsertSelectiveMethodGenerator();
83 initializeAndExecuteGenerator(methodGenerator, interfaze);
84 }
85 }
86
87 @Override
88 protected void addSelectByExampleWithBLOBsMethod(Interface interfaze) {
89 if (introspectedTable.getRules().generateSelectByExampleWithBLOBs()) {
90 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedSelectByExampleWithBLOBsMethodGenerator();
91 initializeAndExecuteGenerator(methodGenerator, interfaze);
92 }
93 }
94
95 @Override
96 protected void addSelectByExampleWithoutBLOBsMethod(Interface interfaze) {
97 if (introspectedTable.getRules().generateSelectByExampleWithoutBLOBs()) {
98 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedSelectByExampleWithoutBLOBsMethodGenerator();
99 initializeAndExecuteGenerator(methodGenerator, interfaze);
100 }
101 }
102
103 @Override
104 protected void addSelectByPrimaryKeyMethod(Interface interfaze) {
105 if (introspectedTable.getRules().generateSelectByPrimaryKey()) {
106 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedSelectByPrimaryKeyMethodGenerator(false, false);
107 initializeAndExecuteGenerator(methodGenerator, interfaze);
108 }
109 }
110
111 @Override
112 protected void addUpdateByExampleSelectiveMethod(Interface interfaze) {
113 if (introspectedTable.getRules().generateUpdateByExampleSelective()) {
114 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByExampleSelectiveMethodGenerator();
115 initializeAndExecuteGenerator(methodGenerator, interfaze);
116 }
117 }
118
119 @Override
120 protected void addUpdateByExampleWithBLOBsMethod(Interface interfaze) {
121 if (introspectedTable.getRules().generateUpdateByExampleWithBLOBs()) {
122 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByExampleWithBLOBsMethodGenerator();
123 initializeAndExecuteGenerator(methodGenerator, interfaze);
124 }
125 }
126
127 @Override
128 protected void addUpdateByExampleWithoutBLOBsMethod(Interface interfaze) {
129 if (introspectedTable.getRules().generateUpdateByExampleWithoutBLOBs()) {
130 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByExampleWithoutBLOBsMethodGenerator();
131 initializeAndExecuteGenerator(methodGenerator, interfaze);
132 }
133 }
134
135 @Override
136 protected void addUpdateByPrimaryKeySelectiveMethod(Interface interfaze) {
137 if (introspectedTable.getRules().generateUpdateByPrimaryKeySelective()) {
138 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByPrimaryKeySelectiveMethodGenerator();
139 initializeAndExecuteGenerator(methodGenerator, interfaze);
140 }
141 }
142
143 @Override
144 protected void addUpdateByPrimaryKeyWithBLOBsMethod(Interface interfaze) {
145 if (introspectedTable.getRules().generateUpdateByPrimaryKeyWithBLOBs()) {
146 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByPrimaryKeyWithBLOBsMethodGenerator();
147 initializeAndExecuteGenerator(methodGenerator, interfaze);
148 }
149 }
150
151 @Override
152 protected void addUpdateByPrimaryKeyWithoutBLOBsMethod(Interface interfaze) {
153 if (introspectedTable.getRules()
154 .generateUpdateByPrimaryKeyWithoutBLOBs()) {
155 AbstractJavaMapperMethodGenerator methodGenerator = new AnnotatedUpdateByPrimaryKeyWithoutBLOBsMethodGenerator(false);
156 initializeAndExecuteGenerator(methodGenerator, interfaze);
157 }
158 }
159
160 @Override
161 public List<CompilationUnit> getExtraCompilationUnits() {
162 boolean useLegacyBuilder = false;
163
164 String prop = context.getJavaClientGeneratorConfiguration().getProperty(PropertyRegistry.CLIENT_USE_LEGACY_BUILDER);
165 if (StringUtility.stringHasValue(prop)) {
166 useLegacyBuilder = Boolean.valueOf(prop);
167 }
168 SqlProviderGenerator sqlProviderGenerator = new SqlProviderGenerator(useLegacyBuilder);
169 sqlProviderGenerator.setContext(context);
170 sqlProviderGenerator.setIntrospectedTable(introspectedTable);
171 sqlProviderGenerator.setProgressCallback(progressCallback);
172 sqlProviderGenerator.setWarnings(warnings);
173 return sqlProviderGenerator.getCompilationUnits();
174 }
175
176 @Override
177 public AbstractXmlGenerator getMatchedXMLGenerator() {
178
179 return null;
180 }
181 }