Dozer String para enum mapeamento

Tenho tal enum:

public enum PartnershipIndicator {
    VENDOR("VENDOR"), COPARTNER("COPARTNER"), BUYER("BUYER");

    String code;

    private PartnershipIndicator(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }

    public static PartnershipIndicator valueOfCode(String code) {
        for (PartnershipIndicator status : values()) {
            if (status.getCode().equals(code)) {
                return status;
            }
        }
        throw new IllegalArgumentException(
            "Partnership status cannot be resolved for code " + code);
    }

    @Override
    public String toString() {
        return code;
    }
}

Preciso convertê-lo em String e vice-versa.gora, isso é feito pelo conversor personalizad Mas eu quero fazê-lo através de mapeamentos dozer (se for possível). Se eu não escrever nenhum mapeamento no dozer, recebo

org.dozer.MappingException: java.lang.NoSuchMethodException: by.dev.madhead.demo.test_java.model.PartnershipIndicator.<init>()

exceção. Não consigo adicionar o construtor público padrão ao enum, pois não é possível. Então, eu escrevi um truque com código interno e valueOfCode () / toString (). Não funciona. Em seguida, mapeei-o na configuração do dozer:

<mapping>
    <class-a>java.lang.String</class-a>
    <class-b create-method="valueOfCode">by.dev.madhead.demo.test_java.model.PartnershipIndicator</class-b>
</mapping>

Não funciona. Tentei valueOfCode (), mapeamentos unidirecionais. Nada funciona. A conversão de enum para string também não funciona, recebo strings vazias. Alguma ideia

questionAnswers(2)

yourAnswerToTheQuestion