package se.kodapan.osm.sweden.ext.wikipedia;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;
/**
* @author kalle
* @since 2013-07-28 21:37
*/
public class WikipediaTools {
public static String renderTable(List<Object[]> table) {
StringWriter sw = new StringWriter(49152);
renderTable(table, sw);
return sw.toString();
}
public static void renderTable(List<Object[]> table, Writer writer) {
PrintWriter pw = new PrintWriter(writer);
renderTable(table, pw);
pw.flush();
}
public static void renderTable(List<Object[]> table, PrintWriter out) {
Iterator<Object[]> rows = table.iterator();
out.print("{| class=\"wikitable sortable\"\n");
out.print("|-\n");
out.print("! ");
Object[] headers = rows.next();
for (int i = 0; i < headers.length; i++) {
out.print(headers[i]);
if (i < headers.length - 1) {
out.print("|| ");
}
}
out.print("\n");
out.print("|-\n");
while (rows.hasNext()) {
Object[] row = rows.next();
out.print("|");
for (Object col : row) {
out.print(" ");
if (col != null) {
out.print(col.toString());
out.print(" ");
}
out.print("||");
}
out.print("\n|-\n");
}
out.print("|}\n");
}
}