package hep.aida.ref.plotter.style.registry;

import hep.aida.IAnalysisFactory;
import hep.aida.IBaseStyle;
import hep.aida.IPlotterFactory;
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;

public class StyleStoreXMLWriter extends XMLWriter {
    
    public static void writeToFile(String fileName, IStyleStore store) throws IOException {
        writeToFile(fileName, store, false);
    }
    public static void writeToFile(String fileName, IStyleStore store, boolean writeAllParameters) throws IOException {
        File file = new File(fileName);
        if (file.exists()) file.delete();
        
        Writer writer = new BufferedWriter(new FileWriter(file));
        
        StyleStoreXMLWriter xmlWriter = new StyleStoreXMLWriter(writer);
        xmlWriter.writeXMLStyleStore(store, writeAllParameters);
        
        xmlWriter.close();
    }
    public StyleStoreXMLWriter(Writer writer) throws IOException {
        super(writer);
        openDoc("1.0", "ISO-8859-1", false);
        
        //referToDTD("aidaStyleStore", "http://java.freehep.org/schemas/jaida/1.0/StyleStoreSchema.xsd");
        referToDTD("aidaStyleStore", "http://java.freehep.org/schemas/jaida/1.0/StyleStoreDTD.dtd");
    }
    
    public void close() throws IOException {
        super.close();
    }
    
    
    // Writing IStyleStore to XML
    public void writeXMLStyleStore(IStyleStore store) {
        writeXMLStyleStore(store, false);
    }
    public void writeXMLStyleStore(IStyleStore store, boolean writeAllParameters) {
        setAttribute("storeName",  store.getStoreName());
        setAttribute("storeType",  store.getStoreType());
        setAttribute("isReadOnly", store.isReadOnly());
        openTag("aidaStyleStore");
        
        String[] names = store.getAllStyleNames();
        
        if (store instanceof BaseStyleStore) {
            for (int i=0; i 0) {
                    options = "\""+possibleValues[0]+"\"";
                    for (int o=1; o=2");
        store.addStyle("Style-2", style2, rule2);
        
        String fileName = "C:/TEMP/xmlStore.xml";
        StyleStoreXMLWriter.writeToFile(fileName, store);
    }
    
}

 

Ads help maintain this website.