package hep.aida.ref.xml;
import hep.aida.IAnalysisFactory;
import hep.aida.IBaseStyle;
import hep.aida.IPlotterStyle;
import hep.aida.ref.plotter.BaseStyle;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import org.freehep.xml.util.XMLWriter;
/**
* Convert AIDA objects to XML.
* @author The AIDA team @ SLAC.
* @version $Id: AidaStyleXMLWriter.java 8704 2006-08-26 00:19:06Z serbo $
*/
public class AidaStyleXMLWriter extends XMLWriter {
// Convenience statice methods for writing IPlotterStyle directly to XML file on disk
public static void writeToFile(String fileName, IPlotterStyle style) throws IOException {
writeToFile(fileName, style, false);
}
public static void writeToFile(String fileName, IPlotterStyle style, boolean writeAllParameters) throws IOException {
File file = new File(fileName);
if (file.exists()) file.delete();
Writer writer = new BufferedWriter(new FileWriter(file));
AidaStyleXMLWriter xmlWriter = new AidaStyleXMLWriter(writer);
xmlWriter.plotterStyleToXML(style, writeAllParameters);
xmlWriter.close();
}
public AidaStyleXMLWriter(Writer writer) throws IOException {
super(writer);
openDoc("1.0", "ISO-8859-1", false);
referToDTD("aidaPlotterStyle", "http://java.freehep.org/schemas/jaida/1.0/aidaPlotterStyle.dtd");
}
public void close() throws IOException {
super.close();
}
public void plotterStyleToXML(IPlotterStyle style) {
plotterStyleToXML(style, false);
}
public void plotterStyleToXML(IPlotterStyle style, boolean writeAllParameters) {
if (isStyleEmpty(style, writeAllParameters)) return;
openTag("aidaPlotterStyle");
IBaseStyle[] children = style.children();
if (children != null) {
for (int i=0; i");
IBaseStyle[] children = style.children();
if (children != null) {
for (int i=0; i ");
}
}
}
System.out.println(""+style.name()+">");
}
// Shows how to use AidaStyleXMLWriter by writing IPlotterStyle to XML file
public static void main(String[] args) throws IOException {
// Initial setup
String fileName = "C:/work/Projects/Tests/PlotterStyle.xml";
boolean writeAllParameters = true;
// Create File and Writer
File file = new File(fileName);
if (file.exists()) file.delete();
Writer writer = new BufferedWriter(new FileWriter(file));
AidaStyleXMLWriter xmlWriter = new AidaStyleXMLWriter(writer);
// Create AIDA IPlotterStyle and set several parameters
IPlotterStyle style = IAnalysisFactory.create().createPlotterFactory().createPlotterStyle();
style.xAxisStyle().setLabel("xxxxxAxisLabel");
style.dataStyle().markerStyle().setShape("box");
style.yAxisStyle().setLabel("yyyyyAxisLabel");
//AidaStyleXMLWriter.printStyle(style.dataStyle().lineStyle(), true);
AidaStyleXMLWriter.printStyle(style.xAxisStyle(), true);
// Write it ot XML file
xmlWriter.plotterStyleToXML(style, writeAllParameters);
xmlWriter.close();
}
}
Ads help maintain this website.