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 ((IJavaSourceConverterconverters.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 = (IJavaSourceConverterconverters.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((IJavaSourceConverterconverters.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((IJavaSourceConverterconverters.get(i)).getMetaData().getPrintName();
53     }
54     return printNames;
55   }
56 }