package technology.tabula.writers; import java.io.IOException; import java.lang.reflect.Modifier; import java.util.List; import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonArray; import technology.tabula.Cell; import technology.tabula.RectangularTextContainer; import technology.tabula.Table; import technology.tabula.TextChunk; import technology.tabula.json.RectangularTextContainerSerializer; import technology.tabula.json.TableSerializer; public class JSONWriter implements Writer { private static final ExclusionStrategy ALLCLASSES_SKIPNONPUBLIC = new ExclusionStrategy() { @Override public boolean shouldSkipClass(Class> c) { return false; } @Override public boolean shouldSkipField(FieldAttributes fa) { return !fa.hasModifier(Modifier.PUBLIC); } }; @Override public void write(Appendable out, Table table) throws IOException { out.append(gson().toJson(table, Table.class)); } @Override public void write(Appendable out, List