package jeql.command.plot; import jeql.api.command.Command; import jeql.api.table.Table; import jeql.engine.Scope; import com.vividsolutions.jts.geom.Geometry; public class PlotCommand implements Command { Plot plot; Plotter plotter; String filename = "plot.png"; public PlotCommand() { super(); } public void setWidth(int width) { getPlot().setWidth(width); } public void setHeight(int height) { getPlot().setHeight(height); } public void setSize(int size) { setWidth(size); setHeight(size); } public void setExtent(Geometry g) { getPlot().setExtent(g.getEnvelopeInternal()); } public void setBackground(String color) { getPlot().setBackground(color); } public void setBorderSize(int size) { getPlot().setBorderSize(size); } public void setBorderColor(String color) { getPlot().setBorderColor(color); } public void setDefault(Table dataTbl) { getPlotter().addData(dataTbl); } public void setData(Table tbl) { getPlotter().addData(tbl); } /* public void setLabels(Table tbl) { getPlotter().addLabels(tbl); } */ public void setFile(String filename) { this.filename = filename; } public void execute(Scope scope) throws Exception { getPlotter().plot(); getPlot().write(filename); } private Plotter getPlotter() { init(); return plotter; } private Plot getPlot() { init(); return plot; } private void init() { if (plot == null) { plot = new Plot(); plotter = new Plotter(plot); } } }