@@ -37,6 +37,7 @@ public class XMLScriptBuilder extends BaseBuilder {
37
37
private final XNode context ;
38
38
private boolean isDynamic ;
39
39
private final Class <?> parameterType ;
40
+ private final Map <String , NodeHandler > nodeHandlerMap = new HashMap <String , NodeHandler >();
40
41
41
42
public XMLScriptBuilder (Configuration configuration , XNode context ) {
42
43
this (configuration , context , null );
@@ -48,6 +49,19 @@ public XMLScriptBuilder(Configuration configuration, XNode context, Class<?> par
48
49
this .parameterType = parameterType ;
49
50
}
50
51
52
+
53
+ private void initNodeHandlerMap (){
54
+ nodeHandlerMap .put ("trim" , new TrimHandler ());
55
+ nodeHandlerMap .put ("where" , new WhereHandler ());
56
+ nodeHandlerMap .put ("set" , new SetHandler ());
57
+ nodeHandlerMap .put ("foreach" , new ForEachHandler ());
58
+ nodeHandlerMap .put ("if" , new IfHandler ());
59
+ nodeHandlerMap .put ("choose" , new ChooseHandler ());
60
+ nodeHandlerMap .put ("when" , new IfHandler ());
61
+ nodeHandlerMap .put ("otherwise" , new OtherwiseHandler ());
62
+ nodeHandlerMap .put ("bind" , new BindHandler ());
63
+ }
64
+
51
65
public SqlSource parseScriptNode () {
52
66
List <SqlNode > contents = parseDynamicTags (context );
53
67
MixedSqlNode rootSqlNode = new MixedSqlNode (contents );
@@ -88,17 +102,7 @@ List<SqlNode> parseDynamicTags(XNode node) {
88
102
}
89
103
90
104
NodeHandler nodeHandlers (String nodeName ) {
91
- Map <String , NodeHandler > map = new HashMap <String , NodeHandler >();
92
- map .put ("trim" , new TrimHandler ());
93
- map .put ("where" , new WhereHandler ());
94
- map .put ("set" , new SetHandler ());
95
- map .put ("foreach" , new ForEachHandler ());
96
- map .put ("if" , new IfHandler ());
97
- map .put ("choose" , new ChooseHandler ());
98
- map .put ("when" , new IfHandler ());
99
- map .put ("otherwise" , new OtherwiseHandler ());
100
- map .put ("bind" , new BindHandler ());
101
- return map .get (nodeName );
105
+ return nodeHandlerMap .get (nodeName );
102
106
}
103
107
104
108
private interface NodeHandler {
0 commit comments