EligibilityAndEntitlementDecision.java
package uk.gov.dhsc.htbhf.claimant.model.eligibility;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import org.springframework.util.CollectionUtils;
import uk.gov.dhsc.htbhf.claimant.entitlement.PaymentCycleVoucherEntitlement;
import uk.gov.dhsc.htbhf.eligibility.model.CombinedIdentityAndEligibilityResponse;
import uk.gov.dhsc.htbhf.eligibility.model.EligibilityStatus;
import java.util.UUID;
@Data
@Builder(toBuilder = true)
@AllArgsConstructor
public class EligibilityAndEntitlementDecision {
private final EligibilityStatus eligibilityStatus;
private final CombinedIdentityAndEligibilityResponse identityAndEligibilityResponse;
private final UUID existingClaimId;
private final String dwpHouseholdIdentifier;
private final String hmrcHouseholdIdentifier;
private final PaymentCycleVoucherEntitlement voucherEntitlement;
public static EligibilityAndEntitlementDecision buildWithStatus(EligibilityStatus eligibilityStatus) {
return EligibilityAndEntitlementDecision.builder()
.eligibilityStatus(eligibilityStatus)
.build();
}
public static EligibilityAndEntitlementDecision buildDuplicateDecisionWithExistingClaimId(UUID existingClaimId) {
return EligibilityAndEntitlementDecision.builder()
.eligibilityStatus(EligibilityStatus.DUPLICATE)
.existingClaimId(existingClaimId)
.build();
}
public boolean childrenPresent() {
return identityAndEligibilityResponse != null && !CollectionUtils.isEmpty(identityAndEligibilityResponse.getDobOfChildrenUnder4());
}
}