diff options
author | Keiron Liddle <keiron@apache.org> | 2001-06-22 09:18:24 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2001-06-22 09:18:24 +0000 |
commit | b4aceba502b859ac073e509d5590f6dd4da5dc15 (patch) | |
tree | b70fa4f685a51dc4fc5c519375ca05bb9a1a95f7 /src/org/apache/fop/apps | |
parent | 95e77e796be3c4df1ba38fea0cb191ddb0a546e6 (diff) | |
download | xmlgraphics-fop-b4aceba502b859ac073e509d5590f6dd4da5dc15.tar.gz xmlgraphics-fop-b4aceba502b859ac073e509d5590f6dd4da5dc15.zip |
command line support for new ps renderer
also cleaned up code
Submitted by: Jeremias Maerki <jeremias.maerki@outline.ch>
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194311 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/apps')
-rw-r--r-- | src/org/apache/fop/apps/CommandLineOptions.java | 297 | ||||
-rw-r--r-- | src/org/apache/fop/apps/Driver.java | 352 |
2 files changed, 321 insertions, 328 deletions
diff --git a/src/org/apache/fop/apps/CommandLineOptions.java b/src/org/apache/fop/apps/CommandLineOptions.java index 435810957..61b78a4d0 100644 --- a/src/org/apache/fop/apps/CommandLineOptions.java +++ b/src/org/apache/fop/apps/CommandLineOptions.java @@ -1,10 +1,9 @@ -/* +/* $Id$ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the - * LICENSE file included with these sources." + * LICENSE file included with these sources. */ - package org.apache.fop.apps; //java @@ -20,7 +19,6 @@ import org.apache.fop.apps.FOPException; /** * Options parses the commandline arguments */ - public class CommandLineOptions { /* input / output not set */ @@ -39,23 +37,25 @@ public class CommandLineOptions { private static final int PRINT_OUTPUT = 4; /* output: pcl file */ private static final int PCL_OUTPUT = 5; + /* output: postscript file */ + private static final int PS_OUTPUT = 6; /* output: text file */ - private static final int TXT_OUTPUT = 6; - - /* System buffers */ - private static final int BUFFER_FILE = 7; - - /* System buffers */ - private static final int AREA_OUTPUT = 8; - + private static final int TXT_OUTPUT = 7; + + /* System buffers */ + private static final int BUFFER_FILE = 8; + + /* System buffers */ + private static final int AREA_OUTPUT = 9; + /* use debug mode*/ Boolean errorDump = new Boolean(false); /* show configuration information */ Boolean dumpConfiguration = new Boolean(false); /*suppress any progress information */ Boolean quiet = new Boolean(false); - /* for area tree XML output, only down to block area level */ - Boolean suppressLowLevelAreas = new Boolean(false); + /* for area tree XML output, only down to block area level */ + Boolean suppressLowLevelAreas = new Boolean(false); /* name of user configuration file*/ File userConfigFile = null; /* name of input fo file */ @@ -77,42 +77,37 @@ public class CommandLineOptions { /* language for user information */ String language = null; - private java.util.Hashtable rendererOptions; - - public CommandLineOptions (String [] args) - throws FOPException, FileNotFoundException - { - boolean optionsParsed = true; - rendererOptions = new java.util.Hashtable(); - try { - optionsParsed = parseOptions(args); - if (optionsParsed) { - checkSettings (); - if (errorDump != null && errorDump.booleanValue()) { - debug(); - } - } - } - catch (FOPException e) { - printUsage(); - throw e; - } - catch (java.io.FileNotFoundException e) { - printUsage(); - throw e; - } - + private java.util.Hashtable rendererOptions; + + public CommandLineOptions (String [] args) throws FOPException, + FileNotFoundException { + boolean optionsParsed = true; + rendererOptions = new java.util.Hashtable(); + try { + optionsParsed = parseOptions(args); + if (optionsParsed) { + checkSettings (); + if (errorDump != null && errorDump.booleanValue()) { + debug(); + } + } + } catch (FOPException e) { + printUsage(); + throw e; + } + catch (java.io.FileNotFoundException e) { + printUsage(); + throw e; + } + } - /** * parses the commandline arguments * @return true if parse was successful and procesing can continue, false if processing should stop * @exception FOPException if there was an error in the format of the options */ - private boolean parseOptions (String args[]) - throws FOPException - { + private boolean parseOptions (String args[]) throws FOPException { for (int i = 0; i < args.length; i++) { if (args[i].equals("-d") || args[i].equals("--full-error-dump")) { errorDump = new Boolean(true); @@ -123,7 +118,7 @@ public class CommandLineOptions { } else if (args[i].equals("-c")) { if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { - throw new FOPException("if you use '-c', you must specify the name of the configuration file"); + throw new FOPException("if you use '-c', you must specify the name of the configuration file"); } else { userConfigFile = new File (args[i + 1]); i++; @@ -138,7 +133,7 @@ public class CommandLineOptions { } } else if (args[i].equals("-s")) { suppressLowLevelAreas = new Boolean(true); - } else if (args[i].equals("-fo")) { + } else if (args[i].equals("-fo")) { inputmode = FO_INPUT; if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { @@ -166,36 +161,36 @@ public class CommandLineOptions { i++; } } else if (args[i].equals("-awt")) { - setOutputMode(AWT_OUTPUT); - } else if (args[i].equals("-pdf")) { - setOutputMode(PDF_OUTPUT); - if ((i + 1 == args.length) || - (args[i + 1].charAt(0) == '-')) { + setOutputMode(AWT_OUTPUT); + } else if (args[i].equals("-pdf")) { + setOutputMode(PDF_OUTPUT); + if ((i + 1 == args.length) || + (args[i + 1].charAt(0) == '-')) { throw new FOPException("you must specify the pdf output file"); } else { outfile = new File (args[i + 1]); i++; } } else if (args[i].equals("-mif")) { - setOutputMode(MIF_OUTPUT); + setOutputMode(MIF_OUTPUT); if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { - throw new FOPException("you must specify the mif output file"); + throw new FOPException("you must specify the mif output file"); } else { outfile = new File(args[i + 1]); i++; } } else if (args[i].equals("-print")) { - setOutputMode(PRINT_OUTPUT); + setOutputMode(PRINT_OUTPUT); //show print help if (i + 1 < args.length) { if (args[i + 1].equals("help")) { printUsagePrintOutput(); - return false; - } + return false; + } } } else if (args[i].equals("-pcl")) { - setOutputMode(PCL_OUTPUT); + setOutputMode(PCL_OUTPUT); if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { throw new FOPException("you must specify the pdf output file"); @@ -203,8 +198,17 @@ public class CommandLineOptions { outfile = new File (args[i + 1]); i++; } + } else if (args[i].equals("-ps")) { + setOutputMode(PS_OUTPUT); + if ((i + 1 == args.length) || + (args[i + 1].charAt(0) == '-')) { + throw new FOPException("you must specify the PostScript output file"); + } else { + outfile = new File (args[i + 1]); + i++; + } } else if (args[i].equals("-txt")) { - setOutputMode(TXT_OUTPUT); + setOutputMode(TXT_OUTPUT); if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { throw new FOPException("you must specify the text output file"); @@ -220,9 +224,10 @@ public class CommandLineOptions { outputmode = PDF_OUTPUT; outfile = new File(args[i]); } else { - throw new FOPException("Don't know what to do with " + args[i]); + throw new FOPException( + "Don't know what to do with " + args[i]); } - } else if (args[i].equals("-buf")) { + } else if (args[i].equals("-buf")) { if (buffermode == NOT_SET) { buffermode = BUFFER_FILE; } else { @@ -238,7 +243,7 @@ public class CommandLineOptions { i++; } } else if (args[i].equals("-at")) { - setOutputMode(AREA_OUTPUT); + setOutputMode(AREA_OUTPUT); if ((i + 1 == args.length) || (args[i + 1].charAt(0) == '-')) { throw new FOPException("you must specify the area-tree output file"); @@ -248,62 +253,58 @@ public class CommandLineOptions { } } else { printUsage(); - return false; - } + return false; + } } - return true; + return true; } //end parseOptions - private void setOutputMode(int mode) - throws FOPException - { - if (outputmode == NOT_SET) { - outputmode = mode; - } else { - throw new FOPException("you can only set one output method"); - } + private void setOutputMode(int mode) throws FOPException { + if (outputmode == NOT_SET) { + outputmode = mode; + } else { + throw new FOPException("you can only set one output method"); + } } - /** * checks whether all necessary information has been given in a consistent way */ - private void checkSettings () - throws FOPException, FileNotFoundException - { + private void checkSettings () throws FOPException, + FileNotFoundException { if (inputmode == NOT_SET) { - throw new FOPException("No input file specified"); - } + throw new FOPException("No input file specified"); + } if (outputmode == NOT_SET) { - throw new FOPException("No output file specified"); - } + throw new FOPException("No output file specified"); + } if (inputmode == XSLT_INPUT) { //check whether xml *and* xslt file have been set - if (xmlfile == null) { - throw new FOPException("XML file must be specified for the tranform mode"); - } - if (xsltfile == null) { - throw new FOPException("XSLT file must be specified for the tranform mode"); - } + if (xmlfile == null) { + throw new FOPException("XML file must be specified for the tranform mode"); + } + if (xsltfile == null) { + throw new FOPException("XSLT file must be specified for the tranform mode"); + } //warning if fofile has been set in xslt mode if (fofile != null) { MessageHandler.errorln( "WARNING: Can't use fo file with transform mode! Ignoring.\n" + - "Your input is "+ - "\n xmlfile: " + xmlfile.getAbsolutePath() + - "\nxsltfile: " + xsltfile.getAbsolutePath() + - "\n fofile: " + fofile.getAbsolutePath()); + "Your input is "+ "\n xmlfile: " + + xmlfile.getAbsolutePath() + "\nxsltfile: " + + xsltfile.getAbsolutePath() + "\n fofile: " + + fofile.getAbsolutePath()); } if (!xmlfile.exists()) { - throw new FileNotFoundException("xml file " + - xmlfile.getAbsolutePath() + " not found "); + throw new FileNotFoundException("xml file " + + xmlfile.getAbsolutePath() + " not found "); } if (!xsltfile.exists()) { throw new FileNotFoundException("xsl file " + - xsltfile.getAbsolutePath() + " not found "); + xsltfile.getAbsolutePath() + " not found "); } } else if (inputmode == FO_INPUT) { @@ -313,14 +314,13 @@ public class CommandLineOptions { MessageHandler.errorln("xslt file: " + xsltfile.toString()); } if (!fofile.exists()) { - throw new FileNotFoundException("fo file " + - fofile.getAbsolutePath() + " not found "); + throw new FileNotFoundException("fo file " + + fofile.getAbsolutePath() + " not found "); } } }// end checkSettings - /** * returns the chosen renderer, throws FOPException */ @@ -338,19 +338,21 @@ public class CommandLineOptions { return Driver.RENDER_PRINT; case PCL_OUTPUT: return Driver.RENDER_PCL; + case PS_OUTPUT: + return Driver.RENDER_PS; case TXT_OUTPUT: return Driver.RENDER_TXT; - case AREA_OUTPUT: - rendererOptions.put("fineDetail", isCoarseAreaXml()); - return Driver.RENDER_XML; + case AREA_OUTPUT: + rendererOptions.put("fineDetail", isCoarseAreaXml()); + return Driver.RENDER_XML; default: throw new FOPException("Invalid Renderer setting!"); } } /** - * - **/ + * + **/ public InputHandler getInputHandler () { switch (inputmode) { case FO_INPUT: @@ -362,16 +364,12 @@ public class CommandLineOptions { } } - public java.util.Hashtable getRendererOptions() { - return rendererOptions; - } - - public Starter getStarter() - throws FOPException - { + public java.util.Hashtable getRendererOptions() { + return rendererOptions; + } + + public Starter getStarter() throws FOPException { switch (outputmode) { - case PDF_OUTPUT: - return new CommandLineStarter(this); case AWT_OUTPUT: try { return((Starter) Class.forName( @@ -380,13 +378,11 @@ public class CommandLineOptions { new Class[]{CommandLineOptions.class}). newInstance(new Object[]{this})); } catch (Exception e) { - if (e instanceof FOPException) { - throw (FOPException)e; - } - throw new FOPException("AWTStarter could not be loaded.",e); + if (e instanceof FOPException) { + throw (FOPException) e; + } + throw new FOPException("AWTStarter could not be loaded.",e); } - case MIF_OUTPUT: - return new CommandLineStarter(this); case PRINT_OUTPUT: try { return((Starter) Class.forName( @@ -395,14 +391,12 @@ public class CommandLineOptions { new Class[]{CommandLineOptions.class}). newInstance(new Object[]{this})); } catch (Exception e) { - if (e instanceof FOPException) { - throw (FOPException)e; - } - throw new FOPException("PrintStarter could not be loaded.",e); + if (e instanceof FOPException) { + throw (FOPException) e; + } + throw new FOPException("PrintStarter could not be loaded.",e); } - case AREA_OUTPUT: - return new CommandLineStarter(this); default: return new CommandLineStarter(this); } @@ -440,10 +434,10 @@ public class CommandLineOptions { return language; } - public File getBufferFile() { - return bufferFile; - } - + public File getBufferFile() { + return bufferFile; + } + public Boolean isQuiet() { return quiet; } @@ -456,13 +450,13 @@ public class CommandLineOptions { return errorDump; } - public Boolean isCoarseAreaXml() { - return suppressLowLevelAreas; - } - + public Boolean isCoarseAreaXml() { + return suppressLowLevelAreas; + } + /** - * return either the fofile or the xmlfile - */ + * return either the fofile or the xmlfile + */ public File getInputFile() { switch (inputmode) { case FO_INPUT: @@ -474,19 +468,18 @@ public class CommandLineOptions { } } - /** - * shows the commandline syntax including a summary of all available options and some examples - */ + * shows the commandline syntax including a summary of all available options and some examples + */ public static void printUsage() { MessageHandler.errorln( - "\nUSAGE\nFop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-txt|-at|-print] <outfile>\n" + + "\nUSAGE\nFop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-ps|-txt|-at|-print] <outfile>\n" + " [OPTIONS] \n" + " -d debug mode \n" + " -x dump configuration settings \n" + " -q quiet mode \n" + " -c cfg.xml use additional configuration file cfg.xml\n" + " -l lang the language to use for user information \n" + - " -s for area tree XML, down to block areas only\n\n" + + " -s for area tree XML, down to block areas only\n\n" + " [INPUT] \n" + " infile xsl:fo input file (the same as the next) \n" + " -fo infile xsl:fo input file \n" + @@ -498,6 +491,7 @@ public class CommandLineOptions { " -awt input will be displayed on screen \n" + " -mif outfile input will be rendered as mif file (outfile req'd)\n" + " -pcl outfile input will be rendered as pcl file (outfile req'd) \n" + + " -ps outfile input will be rendered as PostScript file (outfile req'd) \n" + " -txt outfile input will be rendered as text file (outfile req'd) \n" + " -at outfile representation of area tree as XML (outfile req'd) \n" + " -print input file will be rendered and sent to the printer \n" + @@ -510,8 +504,8 @@ public class CommandLineOptions { } /** - * shows the options for print output - */ + * shows the options for print output + */ public void printUsagePrintOutput() { MessageHandler.errorln( "USAGE: -print [-Dstart=i] [-Dend=i] [-Dcopies=i] [-Deven=true|false] " + @@ -521,8 +515,8 @@ public class CommandLineOptions { /** - * debug mode. outputs all commandline settings - */ + * debug mode. outputs all commandline settings + */ private void debug () { System.out.print("Input mode: "); switch (inputmode) { @@ -574,6 +568,10 @@ public class CommandLineOptions { MessageHandler.logln("pcl"); MessageHandler.logln("output file: " + outfile.toString()); break; + case PS_OUTPUT: + MessageHandler.logln("PostScript"); + MessageHandler.logln("output file: " + outfile.toString()); + break; case TXT_OUTPUT: MessageHandler.logln("txt"); MessageHandler.logln("output file: " + outfile.toString()); @@ -611,16 +609,15 @@ public class CommandLineOptions { //debug: create class and output all settings public static void main (String args[]) { /* - for (int i = 0; i < args.length; i++) { - MessageHandler.logln(">"+args[i]+"<"); - }*/ - try { - CommandLineOptions options = new CommandLineOptions (args); - } - catch (Exception e) { - e.printStackTrace(); - } - + for (int i = 0; i < args.length; i++) { + MessageHandler.logln(">"+args[i]+"<"); + }*/ + try { + CommandLineOptions options = new CommandLineOptions (args); + } catch (Exception e) { + e.printStackTrace(); + } + //options.debug(); } } diff --git a/src/org/apache/fop/apps/Driver.java b/src/org/apache/fop/apps/Driver.java index c9a48a242..f3c695369 100644 --- a/src/org/apache/fop/apps/Driver.java +++ b/src/org/apache/fop/apps/Driver.java @@ -1,10 +1,9 @@ /* $Id$ * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. - * For details on use and redistribution please refer to the - * LICENSE file included with these sources." + * For details on use and redistribution please refer to the + * LICENSE file included with these sources. */ - package org.apache.fop.apps; // FOP @@ -49,7 +48,7 @@ import java.io.*; * Here is an example use of Driver which outputs PDF: * * <PRE> - * Driver driver = new Driver(new InputSource (args[0]), + * Driver driver = new Driver(new InputSource (args[0]), * new FileOutputStream(args[1])); * driver.setRenderer(RENDER_PDF); * driver.run(); @@ -88,10 +87,10 @@ import java.io.*; * </PRE> */ public class Driver { - + /** Render to PDF. OutputStream must be set */ public static final int RENDER_PDF = 1; - + /** Render to a GUI window. No OutputStream neccessary */ public static final int RENDER_AWT = 2; @@ -100,15 +99,18 @@ public class Driver { /** Render to XML. OutputStream must be set */ public static final int RENDER_XML = 4; - + /** Render to PRINT. No OutputStream neccessary */ public static final int RENDER_PRINT = 5; /** Render to PCL. OutputStream must be set */ public static final int RENDER_PCL = 6; + /** Render to Postscript. OutputStream must be set */ + public static final int RENDER_PS = 7; + /** Render to Text. OutputStream must be set */ - public static final int RENDER_TXT = 7; + public static final int RENDER_TXT = 8; /** the FO tree builder */ private FOTreeBuilder _treeBuilder; @@ -121,13 +123,13 @@ public class Driver { /** the source of the FO file */ private InputSource _source; - + /** the stream to use to output the results of the renderer */ private OutputStream _stream; /** The XML parser to use when building the FO tree */ private XMLReader _reader; - + /** If true, full error stacks are reported */ private boolean _errorDump = false; @@ -136,36 +138,34 @@ public class Driver { /** create a new Driver */ public Driver() { - _stream = null; - _bufferManager = new BufferManager(); - _treeBuilder = new FOTreeBuilder(); - _treeBuilder.setBufferManager(_bufferManager); - setupDefaultMappings(); + _stream = null; + _bufferManager = new BufferManager(); + _treeBuilder = new FOTreeBuilder(); + _treeBuilder.setBufferManager(_bufferManager); + setupDefaultMappings(); } public Driver(InputSource source, OutputStream stream) { - this(); - _source = source; - _stream = stream; + this(); + _source = source; + _stream = stream; } /** - * Resets the Driver so it can be reused. Property and element + * Resets the Driver so it can be reused. Property and element * mappings are reset to defaults. * The output stream is cleared. The renderer is cleared. */ - public synchronized void reset() - { - _areaTree = null; - _treeBuilder.reset(); + public synchronized void reset() { + _areaTree = null; + _treeBuilder.reset(); } - - public boolean hasData() - { - return(_treeBuilder.hasData()); + + public boolean hasData() { + return(_treeBuilder.hasData()); } - - /** + + /** * Set the error dump option * @param dump if true, full stacks will be reported to the error log */ @@ -184,85 +184,84 @@ public class Driver { } /** - * Set the source for the FO document. This can be a normal SAX + * Set the source for the FO document. This can be a normal SAX * InputSource, or an DocumentInputSource containing a DOM document. * @see DocumentInputSource */ - public void setInputSource(InputSource source) - { - _source = source; + public void setInputSource(InputSource source) { + _source = source; } - + /** * Sets the reader used when reading in the source. If not set, * this defaults to a basic SAX parser. */ - public void setXMLReader(XMLReader reader) - { - _reader = reader; + public void setXMLReader(XMLReader reader) { + _reader = reader; } - + /** * Sets all the element and property list mappings to their default values. * */ - public void setupDefaultMappings() - { - addElementMapping("org.apache.fop.fo.StandardElementMapping"); - addPropertyList ("org.apache.fop.fo.StandardPropertyListMapping"); + public void setupDefaultMappings() { + addElementMapping("org.apache.fop.fo.StandardElementMapping"); + addPropertyList ("org.apache.fop.fo.StandardPropertyListMapping"); - addElementMapping("org.apache.fop.svg.SVGElementMapping"); - addPropertyList ("org.apache.fop.svg.SVGPropertyListMapping"); + addElementMapping("org.apache.fop.svg.SVGElementMapping"); + addPropertyList ("org.apache.fop.svg.SVGPropertyListMapping"); addElementMapping("org.apache.fop.extensions.ExtensionElementMapping"); - addPropertyList ("org.apache.fop.extensions.ExtensionPropertyListMapping"); + addPropertyList ("org.apache.fop.extensions.ExtensionPropertyListMapping"); } /** - * Set the rendering type to use. Must be one of + * Set the rendering type to use. Must be one of * <ul> * <li>RENDER_PDF * <li>RENDER_AWT * <li>RENDER_MIF * <li>RENDER_XML * <li>RENDER_PCL + * <li>RENDER_PS * <li>RENDER_TXT * </ul> * @param renderer the type of renderer to use */ - public void setRenderer(int renderer) - throws IllegalArgumentException - { - switch (renderer) { - case RENDER_PDF: - setRenderer(new org.apache.fop.render.pdf.PDFRenderer()); - break; - case RENDER_AWT: - throw new IllegalArgumentException("Use renderer form of setRenderer() for AWT"); - case RENDER_PRINT: - throw new IllegalArgumentException("Use renderer form of setRenderer() for PRINT"); - case RENDER_PCL: - setRenderer(new org.apache.fop.render.pcl.PCLRenderer()); - break; - case RENDER_TXT: - setRenderer(new org.apache.fop.render.txt.TXTRenderer()); - break; - case RENDER_MIF: - setRenderer(new org.apache.fop.render.mif.MIFRenderer()); - break; - case RENDER_XML: - setRenderer(new org.apache.fop.render.xml.XMLRenderer()); - break; - default: - throw new IllegalArgumentException("Unknown renderer type"); - } - + public void setRenderer(int renderer) throws IllegalArgumentException { + switch (renderer) { + case RENDER_PDF: + setRenderer(new org.apache.fop.render.pdf.PDFRenderer()); + break; + case RENDER_AWT: + throw new IllegalArgumentException("Use renderer form of setRenderer() for AWT"); + case RENDER_PRINT: + throw new IllegalArgumentException("Use renderer form of setRenderer() for PRINT"); + case RENDER_PCL: + setRenderer(new org.apache.fop.render.pcl.PCLRenderer()); + break; + case RENDER_PS: + setRenderer(new org.apache.fop.render.ps.PSRenderer()); + break; + case RENDER_TXT: + setRenderer(new org.apache.fop.render.txt.TXTRenderer()); + break; + case RENDER_MIF: + setRenderer(new org.apache.fop.render.mif.MIFRenderer()); + break; + case RENDER_XML: + setRenderer(new org.apache.fop.render.xml.XMLRenderer()); + break; + default: + throw new IllegalArgumentException("Unknown renderer type"); + } + } - - /** - * Set the Renderer to use + + /** + * Set the Renderer to use * @param renderer the renderer instance to use */ public void setRenderer(Renderer renderer) { @@ -278,36 +277,35 @@ public class Driver { * @see #setRenderer(int) * @see #setRenderer(Renderer) */ - public void setRenderer(String rendererClassName, String version) - { - setRenderer(rendererClassName); + public void setRenderer(String rendererClassName, String version) { + setRenderer(rendererClassName); } - + /** * Set the class name of the Renderer to use as well as the * producer string for those renderers that can make use of it. - * @param rendererClassName classname of the renderer to use such as + * @param rendererClassName classname of the renderer to use such as * "org.apache.fop.render.pdf.PDFRenderer" * @exception IllegalArgumentException if the classname was invalid. * @see #setRenderer(int) */ - public void setRenderer(String rendererClassName) - throws IllegalArgumentException - { - try { - _renderer = (Renderer) Class.forName(rendererClassName).newInstance(); - _renderer.setProducer(Version.getVersion()); - } - catch (ClassNotFoundException e) { - throw new IllegalArgumentException("Could not find " + - rendererClassName); + public void setRenderer(String rendererClassName) + throws IllegalArgumentException { + try { + _renderer = (Renderer) Class.forName( + rendererClassName).newInstance(); + _renderer.setProducer(Version.getVersion()); + } catch (ClassNotFoundException e) { + throw new IllegalArgumentException("Could not find " + + rendererClassName); } catch (InstantiationException e) { - throw new IllegalArgumentException("Could not instantiate " + - rendererClassName); + throw new IllegalArgumentException( + "Could not instantiate " + rendererClassName); } catch (IllegalAccessException e) { - throw new IllegalArgumentException("Could not access " + rendererClassName); + throw new IllegalArgumentException("Could not access " + + rendererClassName); } catch (ClassCastException e) { throw new IllegalArgumentException(rendererClassName + " is not a renderer"); @@ -321,67 +319,68 @@ public class Driver { * @param mapping the element mappingto add */ public void addElementMapping(ElementMapping mapping) { - mapping.addToBuilder(_treeBuilder); + mapping.addToBuilder(_treeBuilder); } /** * add the element mapping with the given class name */ - public void addElementMapping(String mappingClassName) - throws IllegalArgumentException - { - try { + public void addElementMapping(String mappingClassName) + throws IllegalArgumentException { + try { ElementMapping mapping = (ElementMapping) Class.forName( - mappingClassName).newInstance(); - addElementMapping(mapping); - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException("Could not find " + mappingClassName); - } + mappingClassName).newInstance(); + addElementMapping(mapping); + } catch (ClassNotFoundException e) { + throw new IllegalArgumentException("Could not find " + + mappingClassName); + } catch (InstantiationException e) { - throw new IllegalArgumentException("Could not instantiate " + - mappingClassName); - } + throw new IllegalArgumentException( + "Could not instantiate " + mappingClassName); + } catch (IllegalAccessException e) { - throw new IllegalArgumentException("Could not access " + mappingClassName); - } + throw new IllegalArgumentException("Could not access " + + mappingClassName); + } catch (ClassCastException e) { throw new IllegalArgumentException(mappingClassName + " is not an ElementMapping"); - } + } } /** * Add the PropertyListMapping. */ - public void addPropertyList(PropertyListMapping mapping) - { - mapping.addToBuilder(_treeBuilder); + public void addPropertyList(PropertyListMapping mapping) { + mapping.addToBuilder(_treeBuilder); } - /** * Add the PropertyListMapping with the given class name. */ - public void addPropertyList(String listClassName) - throws IllegalArgumentException - { - try { - PropertyListMapping mapping = (PropertyListMapping) Class.forName( - listClassName).newInstance(); - addPropertyList(mapping); - - } catch (ClassNotFoundException e) { - throw new IllegalArgumentException("Could not find " + listClassName); - } + public void addPropertyList(String listClassName) + throws IllegalArgumentException { + try { + PropertyListMapping mapping = + (PropertyListMapping) Class.forName( + listClassName).newInstance(); + addPropertyList(mapping); + + } catch (ClassNotFoundException e) { + throw new IllegalArgumentException("Could not find " + + listClassName); + } catch (InstantiationException e) { - throw new IllegalArgumentException("Could not instantiate " + - listClassName); - } + throw new IllegalArgumentException( + "Could not instantiate " + listClassName); + } catch (IllegalAccessException e) { - throw new IllegalArgumentException("Could not access " + listClassName); - } + throw new IllegalArgumentException("Could not access " + + listClassName); + } catch (ClassCastException e) { throw new IllegalArgumentException(listClassName + " is not an ElementMapping"); - } + } } /** @@ -400,9 +399,8 @@ public class Driver { * SAX InputSource */ public synchronized void buildFOTree(XMLReader parser, - InputSource source) - throws FOPException - { + InputSource source) + throws FOPException { parser.setContentHandler(_treeBuilder); try { @@ -422,21 +420,21 @@ public class Driver { /** * Build the formatting object tree using the given DOM Document */ - public synchronized void buildFOTree(Document document) - throws FOPException - { - try { - DocumentInputSource source = new DocumentInputSource(document); - DocumentReader reader = new DocumentReader(); - reader.setContentHandler(_treeBuilder); - reader.parse(source); - } catch (SAXException e) { + public synchronized void buildFOTree(Document document) + throws FOPException { + try { + DocumentInputSource source = new DocumentInputSource(document); + DocumentReader reader = new DocumentReader(); + reader.setContentHandler(_treeBuilder); + reader.parse(source); + } catch (SAXException e) { throw new FOPException(e); - } catch (IOException e) { + } + catch (IOException e) { throw new FOPException(e); - } - - } + } + + } /** * Dumps an error @@ -448,29 +446,28 @@ public class Driver { if (((SAXException) e).getException() != null) { ((SAXException) e).getException().printStackTrace(); } - } - else if (e instanceof FOPException) { + } else if (e instanceof FOPException) { e.printStackTrace(); if (((FOPException) e).getException() != null) { ((FOPException) e).getException().printStackTrace(); } - } - else { + } else { e.printStackTrace(); } } } /* Set up the system buffers */ - + public void setBufferFile(File bufferFile) { - this._bufferManager.addBufferFile(bufferFile); + this._bufferManager.addBufferFile(bufferFile); } - + /** * format the formatting object tree into an area tree */ - public synchronized void format() throws FOPException { + public synchronized void format() + throws FOPException { FontInfo fontInfo = new FontInfo(); _renderer.setupFontInfo(fontInfo); @@ -483,7 +480,8 @@ public class Driver { /** * render the area tree to the output form */ - public synchronized void render() throws IOException, FOPException { + public synchronized void render() + throws IOException, FOPException { _renderer.render(_areaTree, _stream); } @@ -492,27 +490,25 @@ public class Driver { * inputsource and outputstream */ public synchronized void run() - throws IOException, FOPException - { - if (_renderer == null) { - setRenderer(RENDER_PDF); - } - if (_source == null) { - throw new FOPException("InputSource is not set."); - } - if (_reader == null) { - if (!(_source instanceof DocumentInputSource)) { - _reader = ConfigurationReader.createParser(); - } - } - if (_source instanceof DocumentInputSource) { - buildFOTree(((DocumentInputSource)_source).getDocument()); - } - else { - buildFOTree(_reader, _source); - } - format(); - render(); + throws IOException, FOPException { + if (_renderer == null) { + setRenderer(RENDER_PDF); + } + if (_source == null) { + throw new FOPException("InputSource is not set."); + } + if (_reader == null) { + if (!(_source instanceof DocumentInputSource)) { + _reader = ConfigurationReader.createParser(); + } + } + if (_source instanceof DocumentInputSource) { + buildFOTree(((DocumentInputSource)_source).getDocument()); + } else { + buildFOTree(_reader, _source); + } + format(); + render(); } - + } |