Reputation: 154
Is there a way to ignore the generation of the mapper for the 3rd method in this code sample using mapstruct?
@Mapper(unmappedSourcePolicy = ReportingPolicy.IGNORE, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EmployeeMapper {
EmployeeMapper MAPPER = Mappers.getMapper( EmployeeMapper.class );
@Mapping(source = "id", target = "id")
@Mapping(source = "firstName", target = "firstname")
@Mapping(source = "surname", target = "surname")
@Mapping(source = "employmentses", target = "employmentDTOList")
EmployeeDTO employee2dto(Employees employees);
@Mapping(source = "id", target = "id")
@Mapping(source = "firstName", target = "firstname")
@Mapping(source = "surname", target = "surname")
@Mapping(target = "employmentDTOList", ignore = true)
EmployeeDTO domainView2dto(EmployeeView employeeView);
//to be ignored by Mapstruct
EmployeePageDTO domainPage2dto(Page<EmployeeView> employeeViewPage);
}
Upvotes: 3
Views: 4782
Reputation: 1547
You can simply define a default method inside the interface as stated here:
@Mapper(unmappedSourcePolicy = ReportingPolicy.IGNORE, unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface EmployeeMapper {
EmployeeMapper MAPPER = Mappers.getMapper( EmployeeMapper.class );
//.....
//to be ignored by Mapstruct
default EmployeePageDTO domainPage2dto(Page<EmployeeView> employeeViewPage) {
//.... insert body here
}
}
Upvotes: 4