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

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

package org.sfm.jdbc.getter;

import java.sql.ResultSet;

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