ExamplesTableStringBuilder.java
- package org.jbehave.core.model;
- import java.util.List;
- import org.apache.commons.lang3.StringUtils;
- import org.jbehave.core.model.ExamplesTable.TableProperties;
- public final class ExamplesTableStringBuilder {
- private ExamplesTableStringBuilder() {
- }
- public static String buildExamplesTableString(TableProperties properties, List<String> headers,
- List<List<String>> rows) {
- String headerSeparator = properties.getHeaderSeparator();
- String valueSeparator = properties.getValueSeparator();
- String rowSeparator = properties.getRowSeparator();
- StringBuilder tableBuilder = new StringBuilder();
- headers.forEach(header -> tableBuilder.append(headerSeparator).append(header));
- tableBuilder.append(headerSeparator).append(rowSeparator);
- for (List<String> row : rows) {
- for (int i = 0, headersSize = headers.size(); i < headersSize; i++) {
- tableBuilder.append(valueSeparator).append(i < row.size() ? row.get(i) : StringUtils.EMPTY);
- }
- tableBuilder.append(valueSeparator).append(rowSeparator);
- }
- return tableBuilder.toString();
- }
- }