package se.unlogic.standardutils.populators;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
public class BeanStringPopulatorRegistery {
private final static HashMap<Class<?>, BeanStringPopulator<?>> TYPE_POPULATORS = new HashMap<Class<?>, BeanStringPopulator<?>>();
static{
addTypePopulator(new UUIDPopulator());
addTypePopulator(new BooleanPopulator());
addTypePopulator(new DoublePopulator());
addTypePopulator(new FloatPopulator());
addTypePopulator(new IntegerPopulator());
addTypePopulator(new LongPopulator());
addTypePopulator(new PrimitiveBooleanPopulator());
addTypePopulator(new PrimitiveIntegerPopulator());
addTypePopulator(new PrimitiveLongPopulator());
addTypePopulator(new StringPopulator());
}
private static void addTypePopulator(BeanStringPopulator<?> typePopulator){
TYPE_POPULATORS.put(typePopulator.getType(), typePopulator);
}
@SuppressWarnings("unchecked")
public static <T> BeanStringPopulator<T> getBeanStringPopulator(Class<T> clazz){
return (BeanStringPopulator<T>) TYPE_POPULATORS.get(clazz);
}
public static Collection<BeanStringPopulator<?>> getBeanStringPopulators(){
return Collections.unmodifiableCollection(TYPE_POPULATORS.values());
}
}