package dbfit.util;
import static dbfit.util.Direction.*;
import static dbfit.util.NameNormaliser.*;
import java.util.Map;
import java.util.HashMap;
public class DbParameterAccessorsMapBuilder {
private Map<String, DbParameterAccessor> parameterAccessors = new HashMap<>();
private int nextPosition = 0;
private TypeTransformerFactory dbfitToJdbcTransformerFactory;
public DbParameterAccessorsMapBuilder(TypeTransformerFactory dbfitToJdbcTransformerFactory) {
this.dbfitToJdbcTransformerFactory = dbfitToJdbcTransformerFactory;
}
public Map<String, DbParameterAccessor> toMap() {
return parameterAccessors;
}
public void add(String name, Direction direction, int sqlType, Class javaType) {
int position = (direction == RETURN_VALUE) ? -1 : nextPosition++;
parameterAccessors.put(normaliseName(name), new DbParameterAccessor(
name, direction,sqlType, javaType, position, dbfitToJdbcTransformerFactory));
}
}