Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅当接收bean映射字段为空时才复制推土机_Java_Javabeans_Dozer - Fatal编程技术网

Java 仅当接收bean映射字段为空时才复制推土机

Java 仅当接收bean映射字段为空时才复制推土机,java,javabeans,dozer,Java,Javabeans,Dozer,我如何配置Dozer,以便在BeanB中的字段为空时,它只将值从BeanA中的一个字段复制到BeanB中的一个字段?我正在使用dsl配置 mapping(FirstGivingPayloadV1.Payload.class, Nonprofit.class, oneWay(), mapNull(false), mapId("firstGivingPayloadV1")) .fields("latitude", "latitude") .fields

我如何配置Dozer,以便在BeanB中的字段为空时,它只将值从BeanA中的一个字段复制到BeanB中的一个字段?我正在使用dsl配置

mapping(FirstGivingPayloadV1.Payload.class, Nonprofit.class, oneWay(),
        mapNull(false), mapId("firstGivingPayloadV1"))
        .fields("latitude", "latitude")
        .fields("longitude", "longitude")
        .fields("revoked", "isNonProfitStatusVerified");
        .fields("url", "websiteUrl"); // only copy url if webSiteURL == null or is empty

为此字段转换编写自定义转换器。自定义转换器应该检查bean
b
中的字段是否为空,以及它是否为复制字段
a

来自推土机文档:

在下面的示例中,推土机将调用自定义转换器来执行字段映射

<mapping>
  <class-a>org.dozer.vo.SimpleObj</class-a>
  <class-b>org.dozer.vo.SimpleObjPrime2</class-b>    
  <field custom-converter-id="CustomConverterWithId">
    <a>field1</a>
    <b>field1Prime</b>
  </field>
</mapping>  
public class TestCustomConverter implements CustomConverter {
 public Object convert(Object destination, Object source, Class destClass, Class sourceClass) {...