This PR refactors the LoanStatus.fromInt method to replace the traditional switch-case statement with a modern switch expression, improving code readability and efficiency.

This commit is contained in:
Harsh-Srivastav123
2025-03-04 20:23:11 +00:00
committed by Adam Saghy
parent 86832c927b
commit d826913753
@@ -40,44 +40,24 @@ public enum LoanStatus {
private final String code;
public static LoanStatus fromInt(final Integer statusValue) {
LoanStatus enumeration = LoanStatus.INVALID;
switch (statusValue) {
case 100:
enumeration = LoanStatus.SUBMITTED_AND_PENDING_APPROVAL;
break;
case 200:
enumeration = LoanStatus.APPROVED;
break;
case 300:
enumeration = LoanStatus.ACTIVE;
break;
case 303:
enumeration = LoanStatus.TRANSFER_IN_PROGRESS;
break;
case 304:
enumeration = LoanStatus.TRANSFER_ON_HOLD;
break;
case 400:
enumeration = LoanStatus.WITHDRAWN_BY_CLIENT;
break;
case 500:
enumeration = LoanStatus.REJECTED;
break;
case 600:
enumeration = LoanStatus.CLOSED_OBLIGATIONS_MET;
break;
case 601:
enumeration = LoanStatus.CLOSED_WRITTEN_OFF;
break;
case 602:
enumeration = LoanStatus.CLOSED_RESCHEDULE_OUTSTANDING_AMOUNT;
break;
case 700:
enumeration = LoanStatus.OVERPAID;
break;
if (statusValue == null) {
return LoanStatus.INVALID;
}
return enumeration;
return switch (statusValue) {
case 100 -> LoanStatus.SUBMITTED_AND_PENDING_APPROVAL;
case 200 -> LoanStatus.APPROVED;
case 300 -> LoanStatus.ACTIVE;
case 303 -> LoanStatus.TRANSFER_IN_PROGRESS;
case 304 -> LoanStatus.TRANSFER_ON_HOLD;
case 400 -> LoanStatus.WITHDRAWN_BY_CLIENT;
case 500 -> LoanStatus.REJECTED;
case 600 -> LoanStatus.CLOSED_OBLIGATIONS_MET;
case 601 -> LoanStatus.CLOSED_WRITTEN_OFF;
case 602 -> LoanStatus.CLOSED_RESCHEDULE_OUTSTANDING_AMOUNT;
case 700 -> LoanStatus.OVERPAID;
default -> LoanStatus.INVALID;
};
}
LoanStatus(final Integer value, final String code) {