12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /*
- * $Id$
- * Copyright (C) 2001-2003 The Apache Software Foundation. All rights reserved.
- * For details on use and redistribution please refer to the
- * LICENSE file included with these sources.
- */
-
- package org.apache.fop.apps;
-
- // SAX
- import org.xml.sax.XMLReader;
-
- // Java
- import java.io.BufferedOutputStream;
- import java.io.FileOutputStream;
-
-
- /**
- * super class for all classes which start Fop from the commandline
- *
- * Modified to use new streaming API by Mark Lillywhite, mark-fop@inomial.com
- */
- public class CommandLineStarter extends Starter {
-
- protected CommandLineOptions commandLineOptions;
-
- public CommandLineStarter(CommandLineOptions commandLineOptions)
- throws FOPException {
- this.commandLineOptions = commandLineOptions;
- super.setInputHandler(commandLineOptions.getInputHandler());
- }
-
- /**
- * Run the format.
- * @exception FOPException if there is an error during processing
- */
- public void run() throws FOPException {
- String version = Version.getVersion();
-
- getLogger().info(version);
-
- XMLReader parser = inputHandler.getParser();
- setParserFeatures(parser);
-
- Driver driver = new Driver();
- setupLogger(driver);
- driver.initialize();
-
- try {
- driver.setRenderer(commandLineOptions.getRenderer());
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(
- commandLineOptions.getOutputFile()));
- driver.setOutputStream(bos);
- if (driver.getRenderer() != null) {
- driver.getRenderer().setOptions(
- commandLineOptions.getRendererOptions());
- }
- driver.render(parser, inputHandler.getInputSource());
- bos.close();
- System.exit(0);
- } catch (Exception e) {
- if (e instanceof FOPException) {
- throw (FOPException) e;
- }
- throw new FOPException(e);
- }
- }
-
- }
|