Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to exclude whole property if they are null from Modelmapper

Does ModelMapper(http://modelmapper.org/) support what exclude property? If the value is null.

I just found PropertyMap out. but It is a constraint to me. because I have to describe a specific property that I want.

Like this.

ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<TestObject, TestObject>() {
    @Override
    protected void configure() {
        when(Conditions.isNull()).skip().setName(source.getName());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
        when(Conditions.isNull()).skip().set...(source.get...());
    }
});

In my case, I have a lot of property and verbose. How to exclude mapping property if they are null from all them. Is there more comfortable solution?

thanks.

like image 933
Brady Avatar asked Aug 02 '17 03:08

Brady


1 Answers

You can configure ModelMapper to ignore all properties that are null with the following configuration:

modelMapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());

It is useful, for example, for partial updates of a target object where you only want to copy those properties from the source object that are not null.

like image 78
mapm Avatar answered Sep 26 '22 02:09

mapm