private LoanTransactionType transactionTypeFromParam()

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");
        };
    }