package fitnesse.slim.converters;
import fitnesse.slim.Converter;
import java.util.*;
public class ConverterRegistry {
static Map<Class<?>, Converter> converters = new HashMap<Class<?>, Converter>();
static {
addStandardConverters();
}
protected static void addStandardConverters() {
addConverter(void.class, new VoidConverter());
addConverter(String.class, new StringConverter());
addConverter(int.class, new IntConverter());
addConverter(double.class, new DoubleConverter());
addConverter(Integer.class, new IntConverter());
addConverter(Double.class, new DoubleConverter());
addConverter(char.class, new CharConverter());
addConverter(boolean.class, new BooleanConverter());
addConverter(Boolean.class, new BooleanConverter());
addConverter(Date.class, new DateConverter());
addConverter(List.class, new ListConverter());
addConverter(Integer[].class, new IntegerArrayConverter());
addConverter(int[].class, new IntegerArrayConverter());
addConverter(String[].class, new StringArrayConverter());
addConverter(boolean[].class, new BooleanArrayConverter());
addConverter(Boolean[].class, new BooleanArrayConverter());
addConverter(double[].class, new DoubleArrayConverter());
addConverter(Double[].class, new DoubleArrayConverter());
}
public static Converter getConverterForClass(Class<?> clazz) {
return converters.get(clazz);
}
public static void addConverter(Class<?> clazz, Converter converter) {
converters.put(clazz, converter);
}
public static Map<Class<?>, Converter> getConverters() {
return Collections.unmodifiableMap(converters);
}
}