Dozer Cadena para mapear enum.

Tengo tal enumeración:

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;
    }
}

Necesito convertirlo a String y viceversa. @Ahora, se realiza mediante un convertidor personalizado. Pero quiero hacerlo a través de asignaciones de dozer (si es posible). Si no escribo ningún mapeo en el confinador de bulldozer, obtengo

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

excepción. No puedo agregar el constructor público predeterminado a enum, ya que no es posible. Entonces, escribí un truco con código interno y valueOfCode () / toString (). No funciona. Luego, lo he mapeado en la configuración de 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>

No funciona. Intenté valueOfCode (), mapeos unidireccionales. Nada funciona. La conversión de enumeración a cadena no funciona también, obtengo cadenas vacías. ¿Algunas ideas

Respuestas a la pregunta(2)

Su respuesta a la pregunta