Exemplo n.º 1
0
  @Override
  @SuppressWarnings("deprecation")
  public void appendJSONString(
      final StringBuilder aResult, final boolean bAlignAndIndent, final int nLevel) {
    appendNewLine(aResult, bAlignAndIndent);
    indent(aResult, nLevel, bAlignAndIndent);
    aResult.append(CJSONConstants.LIST_START);
    appendNewLine(aResult, bAlignAndIndent);

    int nIndex = 0;
    final List<DATATYPE> aData = getData();
    final int nElementCount = aData.size();
    for (final DATATYPE aValue : aData) {
      if (!(aValue instanceof IJSONPropertyValueList)
          && !(aValue instanceof IJSONObject)
          && !(aValue instanceof JSONPropertyValueJSONObject)) {
        indent(aResult, nLevel + 1, bAlignAndIndent);
      }
      if (aValue instanceof IJSONObject || aValue instanceof JSONPropertyValueJSONObject) {
        // JSON object will increase the level already when passing through
        // PropertyValue method
        aValue.appendJSONString(aResult, bAlignAndIndent, nLevel);
      } else {
        aValue.appendJSONString(aResult, bAlignAndIndent, nLevel + 1);
      }

      if (nIndex < nElementCount - 1) aResult.append(CJSONConstants.TOKEN_SEPARATOR);
      appendNewLine(aResult, bAlignAndIndent);
      nIndex++;
    }
    indent(aResult, nLevel, bAlignAndIndent);
    aResult.append(CJSONConstants.LIST_END);
  }