org.sfm.jdbc.CachedResultSetMapperBuilder Maven / Gradle / Ivy
package org.sfm.jdbc;
import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;
import org.sfm.reflect.Setter;
import org.sfm.reflect.SetterFactory;
import org.sfm.utils.PropertyNameMatcher;
public final class CachedResultSetMapperBuilder extends AbstractResultSetMapperBuilder {
private final Map> setters;
public CachedResultSetMapperBuilder(final Class target, final Map> setters, final SetterFactory setterFactory) throws NoSuchMethodException, SecurityException, IOException {
super(target, setterFactory);
this.setters = setters;
}
private Setter findSetter(final PropertyNameMatcher propertyNameMatcher) {
for (Entry> e : setters.entrySet()) {
if (propertyNameMatcher.matches(e.getKey())) {
return e.getValue();
}
}
return null;
}
@Override
protected final Setter findSetter(final String column) {
return findSetter(new PropertyNameMatcher(column));
}
@Override
protected final Setter getSetter(final String property) {
return setters.get(property);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy