01 package de.java2html.plugin;
02 
03 import java.io.IOException;
04 import java.io.StringWriter;
05 import java.net.URL;
06 
07 import de.java2html.Java2Html;
08 import de.java2html.JavaSourceConversionSettings;
09 import de.java2html.converter.IJavaSourceConverter;
10 import de.java2html.javasource.TypedSource;
11 import de.java2html.javasource.JavaSourceParser;
12 
13 /**
14  * Abstract superclass for any kind of Wiki plugin.
15  
16  @author Markus Gebhard
17  */
18 public abstract class AbstractJava2HtmlPlugin {
19 
20   public static String convert(String source, JavaSourceConversionSettings settings) {
21     return Java2Html.convertToHtml(source, settings);
22   }
23 
24   public static JavaSourceConversionSettings getDefaultSettings() {
25     return JavaSourceConversionSettings.getDefault();
26   }
27 
28   public String convert(URL url, JavaSourceConversionSettings settingsthrows IOException {
29     final TypedSource source = new JavaSourceParser(settings.getConversionOptions()).parse(url);
30     final IJavaSourceConverter converter = settings.createConverter();
31     final StringWriter writer = new StringWriter();
32     try {
33       converter.convert(source, settings.getConversionOptions(), writer);
34     }
35     catch (final IOException e) {
36       return null;
37     }
38     return writer.toString();
39   }
40 }