in fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/api/LoanTransactionsApiResource.java [498:534]
private LoanTransactionType transactionTypeFromParam(LoanTransactionApiConstants.TransactionType transactionTypeParam) {
return switch (transactionTypeParam) {
case disbursement -> LoanTransactionType.DISBURSEMENT;
case repayment -> LoanTransactionType.REPAYMENT;
case waiver -> LoanTransactionType.WAIVE_INTEREST;
case repaymentAtDisbursement -> LoanTransactionType.REPAYMENT_AT_DISBURSEMENT;
case writeOff -> LoanTransactionType.WRITEOFF;
case markedForRescheduling -> LoanTransactionType.MARKED_FOR_RESCHEDULING;
case recoveryRepayment -> LoanTransactionType.RECOVERY_REPAYMENT;
case waiveCharges -> LoanTransactionType.WAIVE_CHARGES;
case accrual -> LoanTransactionType.ACCRUAL;
case initiateTransfer -> LoanTransactionType.INITIATE_TRANSFER;
case approveTransfer -> LoanTransactionType.APPROVE_TRANSFER;
case withdrawTransfer -> LoanTransactionType.WITHDRAW_TRANSFER;
case rejectTransfer -> LoanTransactionType.REJECT_TRANSFER;
case refund -> LoanTransactionType.REFUND;
case chargePayment -> LoanTransactionType.CHARGE_PAYMENT;
case incomePosting -> LoanTransactionType.INCOME_POSTING;
case creditBalanceRefund -> LoanTransactionType.CREDIT_BALANCE_REFUND;
case merchantIssuedRefund -> LoanTransactionType.MERCHANT_ISSUED_REFUND;
case payoutRefund -> LoanTransactionType.PAYOUT_REFUND;
case goodwillCredit -> LoanTransactionType.GOODWILL_CREDIT;
case chargeRefund -> LoanTransactionType.CHARGE_REFUND;
case chargeback -> LoanTransactionType.CHARGEBACK;
case chargeAdjustment -> LoanTransactionType.CHARGE_ADJUSTMENT;
case chargeOff -> LoanTransactionType.CHARGE_OFF;
case reAge -> LoanTransactionType.REAGE;
case reAmortize -> LoanTransactionType.REAMORTIZE;
case interestPaymentWaiver -> LoanTransactionType.INTEREST_PAYMENT_WAIVER;
case accrualActivity -> LoanTransactionType.ACCRUAL_ACTIVITY;
case interestRefund -> LoanTransactionType.INTEREST_REFUND;
case accrualAdjustment -> LoanTransactionType.ACCRUAL_ADJUSTMENT;
case capitalizedIncome -> LoanTransactionType.CAPITALIZED_INCOME;
default ->
throw new InvalidLoanTransactionTypeException("transaction", transactionTypeParam.name(), "Unknown transaction type");
};
}