Skip to content

Commit 0a4dad5

Browse files
committed
NodeHandler internal class cleanup
Change NodeHandler to not be an internal class creating itself but rather a method in default scope. Have it perform the get and simply return the NodeHandler as that is the only usage.
1 parent 3320543 commit 0a4dad5

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

src/main/java/org/apache/ibatis/scripting/xmltags/XMLScriptBuilder.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ List<SqlNode> parseDynamicTags(XNode node) {
7676
}
7777
} else if (child.getNode().getNodeType() == Node.ELEMENT_NODE) { // issue #628
7878
String nodeName = child.getNode().getNodeName();
79-
NodeHandler handler = nodeHandlers.get(nodeName);
79+
NodeHandler handler = nodeHandlers(nodeName);
8080
if (handler == null) {
8181
throw new BuilderException("Unknown element <" + nodeName + "> in SQL statement.");
8282
}
@@ -87,21 +87,19 @@ List<SqlNode> parseDynamicTags(XNode node) {
8787
return contents;
8888
}
8989

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+
}
105103

106104
private interface NodeHandler {
107105
void handleNode(XNode nodeToHandle, List<SqlNode> targetContents);
@@ -234,7 +232,7 @@ private void handleWhenOtherwiseNodes(XNode chooseSqlNode, List<SqlNode> ifSqlNo
234232
List<XNode> children = chooseSqlNode.getChildren();
235233
for (XNode child : children) {
236234
String nodeName = child.getNode().getNodeName();
237-
NodeHandler handler = nodeHandlers.get(nodeName);
235+
NodeHandler handler = nodeHandlers(nodeName);
238236
if (handler instanceof IfHandler) {
239237
handler.handleNode(child, ifSqlNodes);
240238
} else if (handler instanceof OtherwiseHandler) {

0 commit comments

Comments
 (0)