CardRequestFactory.java
package uk.gov.dhsc.htbhf.claimant.factory;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import uk.gov.dhsc.htbhf.claimant.converter.AddressToAddressDTOConverter;
import uk.gov.dhsc.htbhf.claimant.entity.Claim;
import uk.gov.dhsc.htbhf.claimant.entity.Claimant;
import uk.gov.dhsc.htbhf.claimant.model.AddressDTO;
import uk.gov.dhsc.htbhf.claimant.model.card.CardRequest;
/**
* Creates a {@link CardRequest} instance from a given {@link Claim}.
*/
@Service
@AllArgsConstructor
public class CardRequestFactory {
private AddressToAddressDTOConverter addressConverter;
public CardRequest createCardRequest(Claim claim) {
Assert.notNull(claim, "Claim must not be null");
Claimant claimant = claim.getClaimant();
AddressDTO address = addressConverter.convert(claimant.getAddress());
return CardRequest.builder()
.address(address)
.firstName(claimant.getFirstName())
.lastName(claimant.getLastName())
.dateOfBirth(claimant.getDateOfBirth())
.email(claimant.getEmailAddress())
.mobile(claimant.getPhoneNumber())
.claimId(claim.getId().toString())
.build();
}
}