package com.google.refine.exporters; import java.util.List; import org.json.JSONObject; /** * An interface to be implemented by exporters which use * {@link CustomizableTabularExporterUtilities#exportRows(com.google.refine.model.Project, com.google.refine.browsing.Engine, java.util.Properties, TabularSerializer)} * */ public interface TabularSerializer { static public class CellData { final public String columnName; final public Object value; final public String text; final public String link; public CellData(String columnName, Object value, String text, String link) { this.columnName = columnName; this.value = value; this.text = text; this.link = link; } } public void startFile(JSONObject options); public void endFile(); public void addRow(List<CellData> cells, boolean isHeader); }