Package org.mapstruct
Annotation Type Condition
-
@Target(METHOD) @Retention(CLASS) public @interface Condition
This annotation marks a method as a presence check method to check check for presence in beans.By default bean properties are checked against
null
or using a presence check method in the source bean. If a presence check method is available then it will be used instead.Presence check methods have to return
boolean
. The following parameters are accepted for the presence check methods:- The parameter with the value of the source property.
e.g. the value given by calling
getName()
for the name property of the source bean - The mapping source parameter
@
Context
parameter
The following implementation ofpublic class PresenceCheckUtils { @Condition public static boolean isNotEmpty(String value) { return value != null && !value.isEmpty(); } } @Mapper(uses = PresenceCheckUtils.class) public interface MovieMapper { MovieDto map(Movie movie); }
MovieMapper
will be generated:public class MovieMapperImpl implements MovieMapper { @Override public MovieDto map(Movie movie) { if ( movie == null ) { return null; } MovieDto movieDto = new MovieDto(); if ( PresenceCheckUtils.isNotEmpty( movie.getTitle() ) ) { movieDto.setTitle( movie.getTitle() ); } return movieDto; } }
- Since:
- 1.5
- Author:
- Filip Hrisafov
- The parameter with the value of the source property.
e.g. the value given by calling