01 package de.java2html.converter;
02 
03 import java.io.IOException;
04 import java.io.Writer;
05 
06 import de.java2html.javasource.TypedSource;
07 import de.java2html.options.JavaSourceConversionOptions;
08 
09 /**
10  @author Markus Gebhard
11  */
12 public interface IJavaSourceConverter {
13 
14   public ConverterMetaData getMetaData();
15 
16   /** Returns the default filename extension for the output format of this converter,
17    * e.g. "html" or "tex". 
18    @deprecated As of 25.01.2006 (Markus Gebhard), replaced by {@link #getMetaData()}{@link ConverterMetaData#getDefaultFileExtension()}
19    */
20   @Deprecated
21   public String getDefaultFileExtension();
22 
23   /**
24    * Converts the given source code to the giveen writer, using the specified conversion options.
25    @param source The source code to be converted to the output format specified
26    *         by this converter.
27    @param writer The writer to write the output to.
28    @param options the options to be used for conversion.
29    @throws IOException if an output error occures while writing to the given writer.
30    */
31   public void convert(TypedSource source, JavaSourceConversionOptions options, Writer writerthrows IOException;
32 
33   /** 
34    @param title An optional title (e.g. for the html title tag) or an empty string or <code>null</code> if none. 
35    */
36   public void writeDocumentHeader(Writer writer, JavaSourceConversionOptions options, String title)
37       throws IOException;
38 
39   public void writeDocumentFooter(Writer writer, JavaSourceConversionOptions optionsthrows IOException;
40 
41   public void writeBlockSeparator(Writer writer, JavaSourceConversionOptions optionsthrows IOException;
42 
43 }