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 java.util.Iterator;
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.ibatis2.Ibatis2FormattingUtilities;
25
26
27
28
29
30
31 public class BlobColumnListElementGenerator extends AbstractXmlElementGenerator {
32
33 public BlobColumnListElementGenerator() {
34 super();
35 }
36
37 @Override
38 public void addElements(XmlElement parentElement) {
39 XmlElement answer = new XmlElement("sql");
40
41 answer.addAttribute(new Attribute("id",
42 introspectedTable.getBlobColumnListId()));
43
44 context.getCommentGenerator().addComment(answer);
45
46 StringBuilder sb = new StringBuilder();
47
48 Iterator<IntrospectedColumn> iter = introspectedTable.getBLOBColumns()
49 .iterator();
50 while (iter.hasNext()) {
51 sb.append(Ibatis2FormattingUtilities.getSelectListPhrase(iter
52 .next()));
53
54 if (iter.hasNext()) {
55 sb.append(", ");
56 }
57
58 if (sb.length() > 80) {
59 answer.addElement(new TextElement(sb.toString()));
60 sb.setLength(0);
61 }
62 }
63
64 if (sb.length() > 0) {
65 answer.addElement(new TextElement(sb.toString()));
66 }
67
68 if (context.getPlugins().sqlMapBlobColumnListElementGenerated(
69 answer, introspectedTable)) {
70 parentElement.addElement(answer);
71 }
72 }
73 }