I am trying to update a collection using mapstruct like this:
List<Passenger> updatePassengers(@MappingTarget List<Passenger> passengers, List<Passenger> sourcePassenger);
Passenger updatePassenger(@MappingTarget Passenger passenger, Passenger sourcePassenger);
Now in generated sources updatePassenger method is generated as below:
public List<Passenger> updatePassengers(List<Passenger> passengers, List<Passenger> sourcePassenger) {
if ( sourcePassenger == null ) {
return null;
}
passengers.clear();
for ( Passenger passenger : sourcePassenger ) {
passengers.add( passenger );
}
return passengers;
}
Here its removing the passenger from the destination and setting passengers from source. I want to update individual passenger objects.
I went through the mapstruct docs and it says that it clears collection before updating.
Is there a way mapstruct could call updatePassenger method for each passenger?