Index: jrst/src/java/org/codelutin/jrst/Parser.java diff -u jrst/src/java/org/codelutin/jrst/Parser.java:1.11 jrst/src/java/org/codelutin/jrst/Parser.java:1.12 --- jrst/src/java/org/codelutin/jrst/Parser.java:1.11 Fri Sep 17 13:35:08 2004 +++ jrst/src/java/org/codelutin/jrst/Parser.java Fri Apr 22 14:54:08 2005 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.11 $ + * @version $Revision: 1.12 $ * - * Mise a jour: $Date: 2004/09/17 13:35:08 $ + * Mise a jour: $Date: 2005/04/22 14:54:08 $ * par : $Author: bpoussin $ */ @@ -44,6 +44,7 @@ import java.io.Writer; import java.io.File; import java.io.FileWriter; +import java.io.PrintWriter; public abstract class Parser { // Parser @@ -57,10 +58,10 @@ public static Object DEBUG = DEBUG_LEVEL0; // null; // // formats de sortie - static final Object TYPE_RST = new Object(); - static final Object TYPE_HTML = new Object(); - static final Object TYPE_XDOC = new Object(); - static final Object TYPE_XML = new Object(); + static final public Object TYPE_RST = new Object(); + static final public Object TYPE_HTML = new Object(); + static final public Object TYPE_XDOC = new Object(); + static final public Object TYPE_XML = new Object(); static protected boolean overwrite = true; @@ -143,27 +144,13 @@ Reader in = null; try{ - in = new LineNumberReader(new FileReader(fileIn)); + in = new FileReader(fileIn); }catch (IOException ioe) { System.err.println("Error with outfile ("+fileIn+") : "+ioe.getMessage()); return; } - Writer out = null; - // Instanciation du Générateur - Generator gen = null; - if (type == TYPE_HTML) { - gen = new HtmlGenerator(); - }else if (type == TYPE_XDOC) { - gen = new XdocGenerator(); - }else if (type == TYPE_XML) { - gen = new XmlGenerator(); - }else if (type == TYPE_RST) { - gen = new RstGenerator(); - }else{ - System.err.println("unknown outfile kind -HTML by default-"); - gen = new HtmlGenerator(); - } + Writer out = null; // fichier de sortie if (fileOut != null){ @@ -177,11 +164,37 @@ } try { - out = new BufferedWriter(new FileWriter(fileOut)); - gen.setOs(out); + out = new FileWriter(fileOut); }catch ( IOException ioe) { System.err.println("Error with infile ("+fileOut+") : "+ioe.getMessage()); } + } else { + out = new PrintWriter(System.out); + } + parse(type, in, out); + } + + static public void parse(Object type, Reader in, Writer out) throws Exception{ + in = new LineNumberReader(in); + out = new BufferedWriter(out); + + // Instanciation du Générateur + Generator gen = null; + if (type == TYPE_HTML) { + gen = new HtmlGenerator(); + }else if (type == TYPE_XDOC) { + gen = new XdocGenerator(); + }else if (type == TYPE_XML) { + gen = new XmlGenerator(); + }else if (type == TYPE_RST) { + gen = new RstGenerator(); + }else{ + System.err.println("unknown outfile kind -HTML by default-"); + gen = new HtmlGenerator(); + } + + if(out != null){ + gen.setOs(out); }