All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sfm.jdbc.getter.EnumIndexedResultSetGetter Maven / Gradle / Ivy

package org.sfm.jdbc.getter;

import java.sql.ResultSet;

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