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

org.sfm.jdbc.impl.getter.EnumResultSetGetter Maven / Gradle / Ivy

Go to download

Java library to map flat record - ResultSet, csv - to java object with minimum configuration and low footprint.

There is a newer version: 1.10.3
Show newest version
package org.sfm.jdbc.impl.getter;

import org.sfm.reflect.EnumHelper;
import org.sfm.reflect.Getter;

import java.sql.ResultSet;

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));
		}
	}

    @Override
    public String toString() {
        return "EnumResultSetGetter{" +
                "columnIndex=" + columnIndex +
                ", enumType=" + enumType +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy