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

org.simpleflatmapper.converter.impl.NumberToEnumConverter 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: 9.0.2
Show newest version
package org.simpleflatmapper.converter.impl;

import org.simpleflatmapper.converter.Converter;
import org.simpleflatmapper.util.EnumHelper;

public class NumberToEnumConverter> implements Converter {
    private final Class enumClass;
    private final E[] values;

    public NumberToEnumConverter(Class enumClass) {
        this.enumClass = enumClass;
        this.values = EnumHelper.getValues(enumClass);
    }

    @Override
    public E convert(Number in) throws Exception {
        if (in == null) return null;
        int i = in.intValue();
        if (i < 0 || i >= values.length) {
            throw new IllegalArgumentException("Invalid ordinal value " + in  + " for " + enumClass);
        }
        return values[i];
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy