import java.util.List;\r
import java.util.Map;\r
\r
+import org.xerial.core.XerialErrorCode;\r
import org.xerial.core.XerialException;\r
import org.xerial.util.tree.TreeNode;\r
import org.xerial.util.tree.TreeVisitor;\r
{\r
private final Map< ? , ? > map;\r
\r
- public MapWalker(Map< ? , ? > map)\r
- {\r
+ public MapWalker(Map< ? , ? > map) {\r
if (map == null)\r
throw new NullPointerException("map cannot be null");\r
this.map = map;\r
private final String nodeName;\r
private final String nodeValue;\r
\r
- public SingleTreeNode(String nodeName, String nodeValue)\r
- {\r
+ public SingleTreeNode(String nodeName, String nodeValue) {\r
this.nodeName = nodeName;\r
this.nodeValue = nodeValue;\r
}\r
\r
- public List<TreeNode> getChildren()\r
- {\r
+ public List<TreeNode> getChildren() {\r
return new ArrayList<TreeNode>();\r
}\r
\r
- public String getNodeName()\r
- {\r
+ public String getNodeName() {\r
return nodeName;\r
}\r
\r
- public String getNodeValue()\r
- {\r
+ public String getNodeValue() {\r
return nodeValue;\r
}\r
\r
}\r
\r
- public TreeNode getSubTree() throws XerialException\r
- {\r
- if (currentKey != null)\r
- {\r
+ public TreeNode getSubTree() throws XerialException {\r
+ if (currentKey != null) {\r
Object value = map.get(currentKey);\r
return new SingleTreeNode(currentKey.toString(), value != null ? value.toString() : null);\r
}\r
else\r
- throw new BeanException(BeanErrorCode.NoMoreSubtree);\r
+ throw new XerialException(XerialErrorCode.NoMoreSubtree);\r
}\r
\r
- public void skipDescendants() throws XerialException\r
- {\r
+ public void skipDescendants() throws XerialException {\r
// there is nothing to do\r
}\r
\r
private Object currentKey;\r
\r
- public void walk(TreeVisitor visitor) throws XerialException\r
- {\r
+ public void walk(TreeVisitor visitor) throws XerialException {\r
visitor.init(this);\r
walk(null, map, visitor);\r
visitor.finish(this);\r
}\r
\r
- private void walk(String nodeName, Object value, TreeVisitor visitor) throws XerialException\r
- {\r
- if (value == null)\r
- {\r
+ private void walk(String nodeName, Object value, TreeVisitor visitor) throws XerialException {\r
+ if (value == null) {\r
visitor.visitNode(nodeName, null, this);\r
visitor.leaveNode(nodeName, this);\r
return;\r
assert value != null;\r
\r
Class< ? > valueType = value.getClass();\r
- if (TypeInfo.isArray(valueType))\r
- {\r
- for (Object each : (Object[]) value)\r
- {\r
+ if (TypeInfo.isArray(valueType)) {\r
+ for (Object each : (Object[]) value) {\r
walk(nodeName, each, visitor);\r
}\r
}\r
- else if (TypeInfo.isCollection(valueType))\r
- {\r
- for (Object each : (Collection< ? >) value)\r
- {\r
+ else if (TypeInfo.isCollection(valueType)) {\r
+ for (Object each : (Collection< ? >) value) {\r
walk(nodeName, each, visitor);\r
}\r
}\r
- else if (TypeInfo.isMap(valueType))\r
- {\r
+ else if (TypeInfo.isMap(valueType)) {\r
visitor.visitNode(nodeName, null, this);\r
Map< ? , ? > mapValue = (Map< ? , ? >) value;\r
- for (Object key : mapValue.keySet())\r
- {\r
+ for (Object key : mapValue.keySet()) {\r
currentKey = key;\r
String entryName = key.toString();\r
Object entryValue = map.get(key);\r
}\r
visitor.leaveNode(nodeName, this);\r
}\r
- else\r
- {\r
+ else {\r
visitor.visitNode(nodeName, value.toString(), this);\r
visitor.leaveNode(nodeName, this);\r
}\r