All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jopendocument.dom.template.RhinoStreamTemplate Maven / Gradle / Ivy

/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 * 
 * Copyright 2008 jOpenDocument, by ILM Informatique. All rights reserved.
 * 
 * The contents of this file are subject to the terms of the GNU General Public License Version 3
 * only ("GPL"). You may not use this file except in compliance with the License. You can obtain a
 * copy of the License at http://www.gnu.org/licenses/gpl-3.0.html See the License for the specific
 * language governing permissions and limitations under the License.
 * 
 * When distributing the software, include this License Header Notice in each file.
 * 
 */

package org.jopendocument.dom.template;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import org.jdom.JDOMException;
import org.jopendocument.dom.ODSingleXMLDocument;
import org.jopendocument.dom.template.engine.DataModel;
import org.jopendocument.dom.template.engine.RhinoTemplateScriptEngine;

public class RhinoStreamTemplate extends Template {
    private DataModel engine;

    public RhinoStreamTemplate(InputStream s) throws IOException, TemplateException, JDOMException {
        super(s);
        engine = new RhinoTemplateScriptEngine();
    }

    public ODSingleXMLDocument createDocument() throws TemplateException {
        return super.createDocument(engine);
    }

    public void showParagraph(String name) {
        this.setField("showParagraph_" + name, "true");
    }

    public void hideParagraph(String name) {
        this.setField("showParagraph_" + name, "false");
    }

    public void setField(String key, Object value) {
        this.engine.put(key, value);
    }

    public File saveAs(File outFile) throws IOException, TemplateException {
        // Create the document
        ODSingleXMLDocument doc = this.createDocument();
        return doc.saveAs(outFile);
    }

    public void saveTo(OutputStream out) throws IOException, TemplateException {
        // Create the document
        this.createDocument(this.engine, out);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy