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 static org.mybatis.generator.internal.util.messages.Messages.getString;
19
20 import java.util.Set;
21 import java.util.TreeSet;
22
23 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
24 import org.mybatis.generator.api.dom.java.Interface;
25 import org.mybatis.generator.api.dom.java.JavaVisibility;
26 import org.mybatis.generator.api.dom.java.Method;
27 import org.mybatis.generator.api.dom.java.Parameter;
28
29
30
31
32
33
34 public class SelectByExampleWithoutBLOBsMethodGenerator extends
35 AbstractJavaMapperMethodGenerator {
36
37 public SelectByExampleWithoutBLOBsMethodGenerator() {
38 super();
39 }
40
41 @Override
42 public void addInterfaceElements(Interface interfaze) {
43 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
44 FullyQualifiedJavaType type = new FullyQualifiedJavaType(
45 introspectedTable.getExampleType());
46 importedTypes.add(type);
47 importedTypes.add(FullyQualifiedJavaType.getNewListInstance());
48
49 Method method = new Method();
50 method.setVisibility(JavaVisibility.PUBLIC);
51
52 FullyQualifiedJavaType returnType = FullyQualifiedJavaType
53 .getNewListInstance();
54 FullyQualifiedJavaType listType;
55 if (introspectedTable.getRules().generateBaseRecordClass()) {
56 listType = new FullyQualifiedJavaType(introspectedTable
57 .getBaseRecordType());
58 } else if (introspectedTable.getRules().generatePrimaryKeyClass()) {
59 listType = new FullyQualifiedJavaType(introspectedTable
60 .getPrimaryKeyType());
61 } else {
62 throw new RuntimeException(getString("RuntimeError.12"));
63 }
64
65 importedTypes.add(listType);
66 returnType.addTypeArgument(listType);
67 method.setReturnType(returnType);
68
69 method.setName(introspectedTable.getSelectByExampleStatementId());
70 method.addParameter(new Parameter(type, "example"));
71
72 context.getCommentGenerator().addGeneralMethodComment(method,
73 introspectedTable);
74
75 addMapperAnnotations(interfaze, method);
76
77 if (context.getPlugins()
78 .clientSelectByExampleWithoutBLOBsMethodGenerated(method,
79 interfaze, introspectedTable)) {
80 interfaze.addImportedTypes(importedTypes);
81 interfaze.addMethod(method);
82 }
83 }
84
85 public void addMapperAnnotations(Interface interfaze, Method method) {
86 }
87 }