org.sfm.jdbc.getter.EnumIndexedResultSetGetter 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 EnumIndexedResultSetGetter> implements Getter {
private final int columnIndex;
private final Class enumType;
private final E[] values;
public EnumIndexedResultSetGetter(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