1 package de.java2html.converter; 2 3 import java.io.BufferedWriter ; 4 import java.io.IOException ; 5 import java.io.Writer ; 6 7 import de.java2html.javasource.JavaSource; 8 import de.java2html.options.JavaSourceConversionOptions; 9 import de.java2html.util.Ensure; 10 11 41 public abstract class AbstractJavaSourceConverter implements IJavaSourceConverter { 42 43 private final ConverterMetaData metaData; 44 45 public AbstractJavaSourceConverter(ConverterMetaData metaData) { 46 Ensure.ensureArgumentNotNull(metaData); 47 this.metaData = metaData; 48 } 49 50 55 public final void convert(JavaSource source, JavaSourceConversionOptions options, Writer writer) 56 throws IOException { 57 BufferedWriter bw = null; 58 try { 59 bw = new BufferedWriter (writer); 60 convert(source, options, bw); 61 bw.flush(); 62 } 63 catch (IOException e) { 64 throw e; 65 } 66 } 67 68 public abstract void convert(JavaSource source, JavaSourceConversionOptions options, BufferedWriter writer) 69 throws IOException ; 70 71 78 public abstract String getDocumentHeader(JavaSourceConversionOptions options, String title); 79 80 86 public abstract String getDocumentFooter(JavaSourceConversionOptions options); 87 88 93 public abstract String getBlockSeparator(JavaSourceConversionOptions options); 94 95 public void writeDocumentHeader(Writer writer, JavaSourceConversionOptions options, String title) 96 throws IOException { 97 writer.write(getDocumentHeader(options, title)); 98 } 99 100 public void writeDocumentFooter(Writer writer, JavaSourceConversionOptions options) throws IOException { 101 writer.write(getDocumentFooter(options)); 102 } 103 104 public void writeBlockSeparator(Writer writer, JavaSourceConversionOptions options) throws IOException { 105 writer.write(getBlockSeparator(options)); 106 } 107 108 public final String getDefaultFileExtension() { 109 return metaData.getDefaultFileExtension(); 110 } 111 112 public final ConverterMetaData getMetaData() { 113 return metaData; 114 } 115 } | Popular Tags |