如何使用Dozer将布尔值转换为String?

时间:2011-04-24 09:10:49

标签: dozer

我是Dozer的新手,我正在尝试将String映射到布尔值,反之亦然。谁能告诉我Dozer支持这个还是我必须创建一个自定义转换器。该字符串将包含true或false,因此将直接映射。我也使用Dozer API而不是XML配置。谢谢你的帮助

2 个答案:

答案 0 :(得分:3)

我认为推土机不支持开箱即用,您可以使用自定义转换器为您完成此项工作。实际上custom converters上的帮助页面使用了这种情况作为示例:

public class NewDozerConverter extends DozerConverter<String, Boolean> {

  public NewDozerConverter() {
    super(String.class, Boolean.class);
  }

  public Boolean convertTo(String source, Boolean destination) {
    if ("true".equals(source)) {
      return Boolean.TRUE;
    } else if ("false".equals(source)) {
      return Boolean.FALSE;
    }
    throw new IllegalStateException("Unknown value!");
  }

  public String convertFrom(Boolean source, String destination) {
    if (Boolean.TRUE.equals(source)) {
      return "true";
    } else if (Boolean.FALSE.equals(source)) {
      return "false";
    }
    throw new IllegalStateException("Unknown value!");
  }

}  

答案 1 :(得分:1)

我相信(在我的头脑中)Dozer支持这种转换,因为它委托给BeanUtils。我知道ModelMapper支持Boolean到String,反之亦然。