1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.ibatis2.dao.elements;
17
18 import org.mybatis.generator.api.dom.java.Field;
19 import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
20 import org.mybatis.generator.api.dom.java.InnerClass;
21 import org.mybatis.generator.api.dom.java.Interface;
22 import org.mybatis.generator.api.dom.java.JavaVisibility;
23 import org.mybatis.generator.api.dom.java.Method;
24 import org.mybatis.generator.api.dom.java.Parameter;
25 import org.mybatis.generator.api.dom.java.TopLevelClass;
26
27
28
29
30
31
32 public class UpdateByExampleParmsInnerclassGenerator extends
33 AbstractDAOElementGenerator {
34
35 public UpdateByExampleParmsInnerclassGenerator() {
36 super();
37 }
38
39 @Override
40 public void addImplementationElements(TopLevelClass topLevelClass) {
41 topLevelClass.addImportedType(new FullyQualifiedJavaType(
42 introspectedTable.getExampleType()));
43
44 InnerClass innerClass = new InnerClass(new FullyQualifiedJavaType(
45 "UpdateByExampleParms"));
46 innerClass.setVisibility(JavaVisibility.PROTECTED);
47 innerClass.setStatic(true);
48 innerClass.setSuperClass(introspectedTable.getExampleType());
49 context.getCommentGenerator().addClassComment(innerClass,
50 introspectedTable);
51
52 Method method = new Method();
53 method.setConstructor(true);
54 method.setVisibility(JavaVisibility.PUBLIC);
55 method.setName(innerClass.getType().getShortName());
56 method.addParameter(new Parameter(FullyQualifiedJavaType
57 .getObjectInstance(), "record"));
58 method.addParameter(new Parameter(new FullyQualifiedJavaType(
59 introspectedTable.getExampleType()), "example"));
60 method.addBodyLine("super(example);");
61 method.addBodyLine("this.record = record;");
62 innerClass.addMethod(method);
63
64 Field field = new Field();
65 field.setVisibility(JavaVisibility.PRIVATE);
66 field.setType(FullyQualifiedJavaType.getObjectInstance());
67 field.setName("record");
68 innerClass.addField(field);
69
70 method = new Method();
71 method.setVisibility(JavaVisibility.PUBLIC);
72 method.setReturnType(FullyQualifiedJavaType.getObjectInstance());
73 method.setName("getRecord");
74 method.addBodyLine("return record;");
75 innerClass.addMethod(method);
76
77 topLevelClass.addInnerClass(innerClass);
78 }
79
80 @Override
81 public void addInterfaceElements(Interface interfaze) {
82
83 }
84 }