package cucumber.runtime.xstream; import cucumber.runtime.CucumberException; import java.util.ArrayList; import java.util.List; public class ListOfSingleValueWriter extends CellWriter { private int nodeDepth; private final List<String> values = new ArrayList<String>(); @Override public List<String> getHeader() { return null; } @Override public List<String> getValues() { return values; } @Override public void startNode(String name) { if (nodeDepth > 1) { throw new CucumberException("Can only convert List<List<T>> to a table when T is a single value (primitive, string, date etc)."); } nodeDepth++; } @Override public void addAttribute(String name, String value) { } @Override public void setValue(String value) { values.add(value == null ? "" : value); } @Override public void endNode() { nodeDepth--; } @Override public void flush() { throw new UnsupportedOperationException(); } @Override public void close() { throw new UnsupportedOperationException(); } }