package com.constellio.app.ui.framework.components.converters; import java.util.Locale; import com.constellio.model.entities.EnumWithSmallCode; import com.constellio.model.utils.EnumWithSmallCodeUtils; import com.vaadin.data.util.converter.Converter; public class StringToEnumWithSmallCodeConverter<T extends EnumWithSmallCode> implements Converter<String, EnumWithSmallCode> { private Class<T> enumWithSmallCodeClass; public StringToEnumWithSmallCodeConverter(Class<T> enumWithSmallCodeClass) { this.enumWithSmallCodeClass = enumWithSmallCodeClass; } @Override public EnumWithSmallCode convertToModel(String value, Class<? extends EnumWithSmallCode> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { return EnumWithSmallCodeUtils.toEnumWithSmallCode(enumWithSmallCodeClass, value); } @Override public String convertToPresentation(EnumWithSmallCode value, Class<? extends String> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { return EnumWithSmallCodeUtils.toSmallCode(value); } @Override public Class<EnumWithSmallCode> getModelType() { return EnumWithSmallCode.class; } @Override public Class<String> getPresentationType() { return String.class; } }