package com.constellio.app.ui.framework.components.converters; import static com.constellio.app.ui.i18n.i18n.$; import java.util.Locale; import org.apache.commons.lang3.StringUtils; import com.constellio.model.entities.EnumWithSmallCode; import com.vaadin.data.util.converter.Converter; public class EnumWithSmallCodeToCaptionConverter implements Converter<String, String> { private Class<? extends EnumWithSmallCode> enumWithSmallCodeClass; public EnumWithSmallCodeToCaptionConverter(Class<? extends EnumWithSmallCode> enumWithSmallCodeClass) { this.enumWithSmallCodeClass = enumWithSmallCodeClass; } @Override public String convertToModel(String value, Class<? extends String> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { return value; } @Override public String convertToPresentation(String value, Class<? extends String> targetType, Locale locale) throws com.vaadin.data.util.converter.Converter.ConversionException { String caption; if (StringUtils.isNotBlank(value)) { caption = $(enumWithSmallCodeClass.getSimpleName() + "." + value); } else { caption = ""; } return caption; } @Override public Class<String> getModelType() { return String.class; } @Override public Class<String> getPresentationType() { return String.class; } }