コード例 #1
0
 private String subtreeAsText(PopsIONode node, String s, Stack<Integer> x, int depth, String b) {
   Integer[] y = x.toArray(new Integer[x.size()]);
   StringBuffer indent = new StringBuffer();
   for (int i = 0; i < depth; i++) {
     indent.append("  ");
   }
   for (int i = 0; i < y.length; i++) {
     indent.replace(2 * y[i], 2 * y[i] + 1, "|");
   }
   if (b.length() > 0) {
     indent.replace(indent.length() - b.length(), indent.length(), b);
   }
   s += indent;
   s += node.asText(indent.length());
   s += System.getProperty("line.separator");
   String subs = "";
   if (node.lft >= 0) {
     x.push(depth);
     subs += subtreeAsText(pionodes[node.lft], "", x, depth + 1, "-");
     x.pop();
     subs += subtreeAsText(pionodes[node.rgt], "", x, depth + 1, "`-");
   }
   return s + subs;
 }