package org.esmerilprogramming.overtown.http; import java.util.HashMap; import java.util.Map; import org.esmerilprogramming.overtown.http.converter.CommonsParamConverter; import org.esmerilprogramming.overtown.http.converter.ModelConverter; import org.esmerilprogramming.overtown.http.converter.ParameterConverter; import org.esmerilprogramming.overtown.http.converter.PrimitiveParamConverter; public class ParameterConverterMounter { public Map<String, ParameterConverter> identifyParametersTranslators( String[] parameterNames, Class<?>[] parameterTypes ){ Map<String, ParameterConverter> translatorMap = new HashMap<>(); for (int i = 0 ; i < parameterTypes.length ; i++) { Class<?> clazz = parameterTypes[i]; ParameterConverter translator = getTranslator(clazz); translatorMap.put( parameterNames[i], translator); } return translatorMap; } public ParameterConverter getTranslator( Class<?> clazz ){ if(PrimitiveParamConverter.isPrimitive(clazz)) return new PrimitiveParamConverter().getConveter(clazz); if(CommonsParamConverter.isCommonParam(clazz)) return new CommonsParamConverter().getConveter(clazz); else return new ModelConverter(); } }