Output the table as basic tab separated @return the TSV representation
()
| 249 | * @return the <code>TSV</code> representation |
| 250 | */ |
| 251 | public String getAsTsv() { |
| 252 | final StringBuilder sb = new StringBuilder(); |
| 253 | for (int i = 0; i < mTableContents.size(); ++i) { |
| 254 | final ArrayList<String> row = mTableContents.get(i); |
| 255 | if (row != SEPARATOR) { |
| 256 | final boolean isHeader = mHeaderRows.get(i); |
| 257 | if (isHeader && mHeaderTsvPrefix != null) { |
| 258 | sb.append(mHeaderTsvPrefix); |
| 259 | } |
| 260 | boolean first = true; |
| 261 | for (String column : row) { |
| 262 | if (!first) { |
| 263 | sb.append("\t"); |
| 264 | } |
| 265 | first = false; |
| 266 | sb.append(isHeader ? sanitizeHeaderCell(column) : column); |
| 267 | } |
| 268 | sb.append(StringUtils.LS); |
| 269 | } |
| 270 | } |
| 271 | return sb.toString(); |
| 272 | } |
| 273 | |
| 274 | protected String sanitizeHeaderCell(String cell) { |
| 275 | return cell.replaceAll("\\s", "_"); |