org.sfm.jdbc.impl.getter.EnumResultSetGetter Maven / Gradle / Ivy
package org.sfm.jdbc.impl.getter;
import java.sql.ResultSet;
import org.sfm.reflect.EnumHelper;
import org.sfm.reflect.Getter;
public final class EnumResultSetGetter> implements Getter {
private final int columnIndex;
private final Class enumType;
private final E[] values;
public EnumResultSetGetter(final int column, final Class enumType) {
this.columnIndex = column;
this.enumType = enumType;
this.values = EnumHelper.getValues(enumType);
}
@Override
public E get(final ResultSet target) throws Exception {
final Object o = target.getObject(columnIndex);
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