001package io.konik.csv.converter; 002 003import com.neovisionaries.i18n.LanguageCode; 004import org.dozer.DozerConverter; 005 006/** 007 * Intermediate converter used to convert {@link String} to {@link LanguageCode} 008 * while mapping a single value to a collection using custom add..() method. 009 */ 010public class LanguageCodeConverter extends DozerConverter<String, LanguageCode> { 011 012 public LanguageCodeConverter() { 013 this(String.class, LanguageCode.class); 014 } 015 016 public LanguageCodeConverter(Class<String> prototypeA, Class<LanguageCode> prototypeB) { 017 super(prototypeA, prototypeB); 018 } 019 020 @Override 021 public LanguageCode convertTo(String source, LanguageCode destination) { 022 return LanguageCode.getByCode(source, false); 023 } 024 025 @Override 026 public String convertFrom(LanguageCode source, String destination) { 027 return source.toString(); 028 } 029}