예제 #1
0
파일: RawObject.java 프로젝트: cmjonze/bkdb
  private void formatRawObject(StringBuilder buf, String indent, String id, boolean isSuper) {
    if (type.isEnum()) {
      buf.append(indent);
      buf.append("<Enum");
      formatId(buf, id);
      buf.append(" class=\"");
      buf.append(type.getClassName());
      buf.append("\" typeId=\"");
      buf.append(type.getId());
      buf.append("\">");
      buf.append(enumConstant);
      buf.append("</Enum>\n");
    } else {
      String indent2 = indent + INDENT;
      String endTag;
      buf.append(indent);
      if (type.isArray()) {
        buf.append("<Array");
        endTag = "</Array>";
      } else if (isSuper) {
        buf.append("<Super");
        endTag = "</Super>";
      } else {
        buf.append("<Object");
        endTag = "</Object>";
      }
      formatId(buf, id);
      if (type.isArray()) {
        buf.append(" length=\"");
        buf.append(elements.length);
        buf.append('"');
      }
      buf.append(" class=\"");
      buf.append(type.getClassName());
      buf.append("\" typeId=\"");
      buf.append(type.getId());
      buf.append("\">\n");

      if (superObject != null) {
        superObject.formatRawObject(buf, indent2, null, true);
      }
      if (type.isArray()) {
        for (int i = 0; i < elements.length; i += 1) {
          formatValue(buf, indent2, String.valueOf(i), elements[i]);
        }
      } else {
        TreeSet<String> keys = new TreeSet<String>(values.keySet());
        for (String name : keys) {
          formatValue(buf, indent2, name, values.get(name));
        }
      }
      buf.append(indent);
      buf.append(endTag);
      buf.append("\n");
    }
  }
예제 #2
0
파일: RawObject.java 프로젝트: cmjonze/bkdb
 private static void formatValue(StringBuilder buf, String indent, String id, Object val) {
   if (val == null) {
     buf.append(indent);
     buf.append("<Null");
     formatId(buf, id);
     buf.append("/>\n");
   } else if (val instanceof RawObject) {
     ((RawObject) val).formatRawObject(buf, indent, id, false);
   } else {
     buf.append(indent);
     buf.append("<Value");
     formatId(buf, id);
     buf.append(" class=\"");
     buf.append(val.getClass().getName());
     buf.append("\">");
     buf.append(val.toString());
     buf.append("</Value>\n");
   }
 }