[英]How can I map an enum to a boolean with mapstruct?
我有一些自动生成的枚举,需要将其映射到MapStruct映射器中的布尔值。 他们像这样去:
enum YN {
Y("Y"), N("N")
}
enum ZO {
_0("0"), _1("1")
}
我尝试使用@ValueMappings(),但没有成功:
@ValueMappings({
@ValueMapping(source="Y", target=true),
@ValueMapping(source="N", target=false)
)
Boolean map(YN value);
如何实现此映射?
ValueMappings用于两个Enum
之间的映射。 您不能使用它们将Enum
映射到其他对象。 对于定义的映射,您将必须自己编写一个映射。 然后MapStruct可以在其他映射器中使用该映射器。
abstract class Mapper {
Boolean map(YN value) {
return YN.Y.equals(value);
}
Boolean map(ZO value) {
return ZO.O.equals(value);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.