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"); } }