1 package de.tisje.java2html; 2 3 import java.io.File ; 4 import java.io.FileWriter ; 5 import java.io.IOException ; 6 import java.io.StringWriter ; 7 8 import de.java2html.converter.AbstractJavaSourceToXmlConverter; 9 import de.java2html.converter.JavaSource2XhtmlConverter; 10 import de.java2html.converter.JavaSource2XmlConverter; 11 import de.java2html.javasource.JavaSource; 12 import de.java2html.javasource.JavaSourceParser; 13 import de.java2html.options.JavaSourceConversionOptions; 14 import de.java2html.util.IoUtilities; 15 16 30 public class XsltTask { 32 33 private static JavaSourceConversionOptions options = JavaSourceConversionOptions.getDefault(); 34 private static AbstractJavaSourceToXmlConverter converter = new JavaSource2XhtmlConverter(); 35 private static JavaSource source = null; 36 private static boolean xhtml = false; 37 38 44 public static void setOptions(boolean lineNumbers, boolean pre, boolean xhtml) { 45 if (xhtml) { 46 converter = new JavaSource2XhtmlConverter(); 47 }else { 48 converter = new JavaSource2XmlConverter(); 49 } 50 converter.setOptions(lineNumbers, pre); 51 XsltTask.xhtml = xhtml; 52 } 53 54 55 public static void setSource(String javaSource) { 56 source = new JavaSourceParser().parse(javaSource); 57 } 58 59 60 public static void readFile(String javaFile) throws IOException { 61 source = new JavaSourceParser().parse(new File (javaFile)); 62 } 63 64 65 public static String getSource() throws IOException { 66 StringWriter writer = new StringWriter (); 67 writer.write(converter.getDocumentHeader(options, "")); converter.convert(source, options, writer); 69 writer.write(converter.getDocumentFooter(options)); 70 return writer.getBuffer().toString(); 71 } 72 73 75 public static void writeFile(String filename) throws IOException { 76 writeFile(new File (filename)); 77 } 78 79 80 public static void writeFile(File file) throws IOException { 81 FileWriter fileWriter = new FileWriter (file); 82 try { 83 fileWriter.write(converter.getDocumentHeader(options, "")); converter.convert(source, options, fileWriter); 85 fileWriter.write(converter.getDocumentFooter(options)); 86 } 87 finally { 88 IoUtilities.close(fileWriter); 89 } 90 } 91 92 94 public static void main(String args[]) { 95 String ext = ".xhtml"; if (!xhtml) 97 ext = ".xml"; for (int i = 0; args.length > i; i++) { 99 try { 100 readFile(args[i]); 101 writeFile(args[i] + ext); 102 } 103 catch (IOException e) { 104 e.printStackTrace(); 105 } 106 } 107 } 108 } | Popular Tags |