1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.mybatis.generator.codegen.ibatis2.sqlmap.elements;
17
18 import static org.mybatis.generator.internal.util.StringUtility.stringHasValue;
19
20 import org.mybatis.generator.api.IntrospectedColumn;
21 import org.mybatis.generator.api.dom.xml.Attribute;
22 import org.mybatis.generator.api.dom.xml.TextElement;
23 import org.mybatis.generator.api.dom.xml.XmlElement;
24 import org.mybatis.generator.codegen.AbstractGenerator;
25 import org.mybatis.generator.config.GeneratedKey;
26
27
28
29
30
31
32 public abstract class AbstractXmlElementGenerator extends AbstractGenerator {
33 public abstract void addElements(XmlElement parentElement);
34
35 public AbstractXmlElementGenerator() {
36 super();
37 }
38
39
40
41
42
43
44
45
46
47
48
49 protected XmlElement getSelectKey(IntrospectedColumn introspectedColumn,
50 GeneratedKey generatedKey) {
51 String identityColumnType = introspectedColumn
52 .getFullyQualifiedJavaType().getFullyQualifiedName();
53
54 XmlElement answer = new XmlElement("selectKey");
55 answer.addAttribute(new Attribute("resultClass", identityColumnType));
56 answer.addAttribute(new Attribute(
57 "keyProperty", introspectedColumn.getJavaProperty()));
58 if (stringHasValue(generatedKey.getType())) {
59 answer.addAttribute(new Attribute("type", generatedKey.getType()));
60 }
61 answer
62 .addElement(new TextElement(generatedKey
63 .getRuntimeSqlStatement()));
64
65 return answer;
66 }
67
68 protected XmlElement getBaseColumnListElement() {
69 XmlElement answer = new XmlElement("include");
70 answer.addAttribute(new Attribute("refid",
71 introspectedTable.getIbatis2SqlMapNamespace()
72 + "." + introspectedTable.getBaseColumnListId()));
73 return answer;
74 }
75
76 protected XmlElement getBlobColumnListElement() {
77 XmlElement answer = new XmlElement("include");
78 answer.addAttribute(new Attribute("refid",
79 introspectedTable.getIbatis2SqlMapNamespace()
80 + "." + introspectedTable.getBlobColumnListId()));
81 return answer;
82 }
83 }