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
28
29
30
31
32 public class SelectByExampleWithBLOBsMethodGenerator extends
33 AbstractJavaMapperMethodGenerator {
34
35 public SelectByExampleWithBLOBsMethodGenerator() {
36 super();
37 }
38
39 @Override
40 public void addInterfaceElements(Interface interfaze) {
41 Set<FullyQualifiedJavaType> importedTypes = new TreeSet<FullyQualifiedJavaType>();
42 FullyQualifiedJavaType type = new FullyQualifiedJavaType(
43 introspectedTable.getExampleType());
44 importedTypes.add(type);
45 importedTypes.add(FullyQualifiedJavaType.getNewListInstance());
46
47 Method method = new Method();
48 method.setVisibility(JavaVisibility.PUBLIC);
49
50 FullyQualifiedJavaType returnType = FullyQualifiedJavaType
51 .getNewListInstance();
52 FullyQualifiedJavaType listType;
53 if (introspectedTable.getRules().generateRecordWithBLOBsClass()) {
54 listType = new FullyQualifiedJavaType(introspectedTable
55 .getRecordWithBLOBsType());
56 } else {
57
58 listType = new FullyQualifiedJavaType(introspectedTable
59 .getBaseRecordType());
60 }
61
62 importedTypes.add(listType);
63 returnType.addTypeArgument(listType);
64 method.setReturnType(returnType);
65 method.setName(introspectedTable
66 .getSelectByExampleWithBLOBsStatementId());
67 method.addParameter(new Parameter(type, "example"));
68
69 context.getCommentGenerator().addGeneralMethodComment(method,
70 introspectedTable);
71
72 addMapperAnnotations(interfaze, method);
73
74 if (context.getPlugins()
75 .clientSelectByExampleWithBLOBsMethodGenerated(method, interfaze,
76 introspectedTable)) {
77 interfaze.addImportedTypes(importedTypes);
78 interfaze.addMethod(method);
79 }
80 }
81
82 public void addMapperAnnotations(Interface interfaze, Method method) {
83 }
84 }