1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.mybatis3.javamapper.elements;
17
18 import java.util.Set;
19 import java.util.TreeSet;
20
21 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
22 import org.mybatis.generator.api.dom.java.Interface;
23 import org.mybatis.generator.api.dom.java.JavaVisibility;
24 import org.mybatis.generator.api.dom.java.Method;
25 import org.mybatis.generator.api.dom.java.Parameter;
26
27 public class DeleteByExampleMethodGenerator extends AbstractJavaMapperMethodGenerator {
28
29 public DeleteByExampleMethodGenerator() {
30 super();
31 }
32
33 @Override
34 public void addInterfaceElements(Interface interfaze) {
35 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<>();
36 FullyQualifiedJavaType type = new FullyQualifiedJavaType(introspectedTable.getExampleType());
37 importedTypes.add(type);
38
39 Method method = new Method(introspectedTable.getDeleteByExampleStatementId());
40 method.setVisibility(JavaVisibility.PUBLIC);
41 method.setAbstract(true);
42 method.setReturnType(FullyQualifiedJavaType.getIntInstance());
43 method.addParameter(new Parameter(type, "example"));
44
45 context.getCommentGenerator().addGeneralMethodComment(method, introspectedTable);
46
47 addMapperAnnotations(method);
48
49 if (context.getPlugins().clientDeleteByExampleMethodGenerated(method, interfaze, introspectedTable)) {
50 addExtraImports(interfaze);
51 interfaze.addImportedTypes(importedTypes);
52 interfaze.addMethod(method);
53 }
54 }
55
56 public void addMapperAnnotations(Method method) {
57
58 }
59
60 public void addExtraImports(Interface interfaze) {
61
62 }
63 }