
org.simpleflatmapper.querydsl.getter.EnumTupleOrdinalIndexedGetter Maven / Gradle / Ivy
package org.simpleflatmapper.querydsl.getter;
import com.mysema.query.Tuple;
import org.simpleflatmapper.querydsl.TupleElementKey;
import org.simpleflatmapper.util.EnumHelper;
import org.simpleflatmapper.reflect.Getter;
public final class EnumTupleOrdinalIndexedGetter> implements Getter {
private final int index;
private final Class> type;
private final E[] values;
public EnumTupleOrdinalIndexedGetter(TupleElementKey key, final Class enumType) {
this.index = key.getIndex();
this.type = key.getExpression().getType();
this.values = EnumHelper.getValues(enumType);
}
@Override
public E get(final Tuple target) throws Exception {
Number number = (Number) target.get(index, type);
if (number != null) {
return values[number.intValue()];
} else {
return null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy