tengo tal enumeración:del dormilón de cuerdas es posible enumerar los mapeo
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 para convertirlo en cadena y viceversa. Ahora, se hace mediante un convertidor personalizado. Pero quiero hacerlo a través de asignaciones dozer (si es posible). Si no escribo las asignaciones a la confing dormilón, me sale
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. Entonces, lo he mapeado en 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(), asignaciones unidireccionales. Nada funciona. La conversión de Enum to String tampoco funciona, obtengo cadenas vacías. Alguna idea?
He agregado mi convertidor personalizado a dozer master. Entonces nadie de 5.4 no enfrentará este problema :) – madhead
@all ¿Alguien puede ver esto [Pregunta] (http://stackoverflow.com/questions/27864640/dozer-string-to-date-field-level-mapping-for -a-list) – 09Q71AO534