01 package de.java2html.converter;
02
03 import java.util.ArrayList;
04 import java.util.List;
05
06 /**
07 * @author Markus Gebhard
08 */
09 public class JavaSourceConverterProvider {
10
11 private final static List/*<IJavaSourceConverter>*/converters = new ArrayList() {
12 {
13 add(new JavaSource2HTMLConverter());
14 add(new JavaSource2Xhtml11Converter());
15 add(new JavaSource2XhtmlConverter());
16 add(new JavaSource2TeXConverter());
17 add(new JavaSource2RtfConverter());
18 add(new JavaSource2XmlConverter());
19 }
20 };
21
22 public static String getDefaultConverterName() {
23 return ((IJavaSourceConverter) converters.get(0)).getMetaData().getName().toLowerCase();
24 }
25
26 public static IJavaSourceConverter getJavaSourceConverterByName(String name) {
27 for (int i = 0; i < converters.size(); ++i) {
28 final IJavaSourceConverter converter = (IJavaSourceConverter) converters.get(i);
29 if ((converter).getMetaData().getName().equalsIgnoreCase(name)) {
30 return converter;
31 }
32 }
33 return null;
34 }
35
36 /** @see #getAllConverters() */
37 public static String[] getAllConverterNames() {
38 final String[] names = new String[converters.size()];
39 for (int i = 0; i < names.length; ++i) {
40 names[i] = ((IJavaSourceConverter) converters.get(i)).getMetaData().getName();
41 }
42 return names;
43 }
44
45 public static IJavaSourceConverter[] getAllConverters() {
46 return (IJavaSourceConverter[]) converters.toArray(new IJavaSourceConverter[converters.size()]);
47 }
48
49 public static String[] getAllConverterPrintNames() {
50 final String[] printNames = new String[converters.size()];
51 for (int i = 0; i < printNames.length; ++i) {
52 printNames[i] = ((IJavaSourceConverter) converters.get(i)).getMetaData().getPrintName();
53 }
54 return printNames;
55 }
56 }
|