appendMultiLineStringText method

void appendMultiLineStringText(
  1. MultiLineString multiLineString,
  2. List<Ordinate> outputOrdinates,
  3. bool useFormatting,
  4. int level,
  5. StringBuffer writer,
  6. NumberFormat formatter,
)

Converts a MultiLineString to <MultiLineString Text> format, then appends it to the writer.

@param multiLineString the MultiLineString to process @param useFormatting flag indicating that @param level the indentation level //@param indentFirst flag indicating that the first {@code Coordinate} of the sequence should be indented for // better visibility @param writer the output writer to append to @param formatter the formatter to use for writing ordinate values.

Implementation

void appendMultiLineStringText(
    MultiLineString multiLineString,
    List<Ordinate> outputOrdinates,
    bool useFormatting,
    int level,
    /*bool indentFirst, */ StringBuffer writer,
    NumberFormat formatter) {
  if (multiLineString.isEmpty()) {
    writer.write("EMPTY");
  } else {
    int level2 = level;
    bool doIndent = false;
    writer.write("(");
    for (int i = 0; i < multiLineString.getNumGeometries(); i++) {
      if (i > 0) {
        writer.write(", ");
        level2 = level + 1;
        doIndent = true;
      }
      appendSequenceText(
          (multiLineString.getGeometryN(i) as LineString)
              .getCoordinateSequence(),
          outputOrdinates,
          useFormatting,
          level2,
          doIndent,
          writer,
          formatter);
    }
    writer.write(")");
  }
}