org.sfm.jdbc.getter.EnumNamedResultSetGetter Maven / Gradle / Ivy
package org.sfm.jdbc.getter;
import java.sql.ResultSet;
import org.sfm.reflect.EnumHelper;
import org.sfm.reflect.Getter;
public final class EnumNamedResultSetGetter> implements Getter {
private final String column;
private final Class enumType;
private final E[] values;
public EnumNamedResultSetGetter(final String column, final Class enumType) {
this.column = column;
this.enumType = enumType;
this.values = EnumHelper.getValues(enumType);
}
@Override
public E get(final ResultSet target) throws Exception {
final Object o = target.getObject(column);
if (o instanceof Number) {
return values[((Number) o).intValue()];
} else {
return (E) Enum.valueOf(enumType, String.valueOf(o));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy