@@ -76,7 +76,7 @@ List<SqlNode> parseDynamicTags(XNode node) {
76
76
}
77
77
} else if (child .getNode ().getNodeType () == Node .ELEMENT_NODE ) { // issue #628
78
78
String nodeName = child .getNode ().getNodeName ();
79
- NodeHandler handler = nodeHandlers . get (nodeName );
79
+ NodeHandler handler = nodeHandlers (nodeName );
80
80
if (handler == null ) {
81
81
throw new BuilderException ("Unknown element <" + nodeName + "> in SQL statement." );
82
82
}
@@ -87,21 +87,19 @@ List<SqlNode> parseDynamicTags(XNode node) {
87
87
return contents ;
88
88
}
89
89
90
- private Map <String , NodeHandler > nodeHandlers = new HashMap <String , NodeHandler >() {
91
- private static final long serialVersionUID = 7123056019193266281L ;
92
-
93
- {
94
- put ("trim" , new TrimHandler ());
95
- put ("where" , new WhereHandler ());
96
- put ("set" , new SetHandler ());
97
- put ("foreach" , new ForEachHandler ());
98
- put ("if" , new IfHandler ());
99
- put ("choose" , new ChooseHandler ());
100
- put ("when" , new IfHandler ());
101
- put ("otherwise" , new OtherwiseHandler ());
102
- put ("bind" , new BindHandler ());
103
- }
104
- };
90
+ 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 );
102
+ }
105
103
106
104
private interface NodeHandler {
107
105
void handleNode (XNode nodeToHandle , List <SqlNode > targetContents );
@@ -234,7 +232,7 @@ private void handleWhenOtherwiseNodes(XNode chooseSqlNode, List<SqlNode> ifSqlNo
234
232
List <XNode > children = chooseSqlNode .getChildren ();
235
233
for (XNode child : children ) {
236
234
String nodeName = child .getNode ().getNodeName ();
237
- NodeHandler handler = nodeHandlers . get (nodeName );
235
+ NodeHandler handler = nodeHandlers (nodeName );
238
236
if (handler instanceof IfHandler ) {
239
237
handler .handleNode (child , ifSqlNodes );
240
238
} else if (handler instanceof OtherwiseHandler ) {
0 commit comments