Class LoanTransactionValidator

java.lang.Object
org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator

@Component public final class LoanTransactionValidator extends Object
  • Constructor Details

    • LoanTransactionValidator

      public LoanTransactionValidator()
  • Method Details

    • validateDisbursement

      public void validateDisbursement(org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isAccountTransfer, Long loanId)
    • validateDisbursementWithPostDatedChecks

      public void validateDisbursementWithPostDatedChecks(String json, Long loanId)
    • validateDisbursementDateWithMeetingDate

      public void validateDisbursementDateWithMeetingDate(LocalDate actualDisbursementDate, org.apache.fineract.portfolio.calendar.domain.CalendarInstance calendarInstance, Boolean isSkipRepaymentOnFirstMonth, Integer numberOfDays)
    • validateUndoChargeOff

      public void validateUndoChargeOff(String json)
    • validateTransaction

      public void validateTransaction(String json)
    • validateChargebackTransaction

      public void validateChargebackTransaction(String json)
    • validateNewRepaymentTransaction

      public void validateNewRepaymentTransaction(String json)
    • validateTransactionWithNoAmount

      public void validateTransactionWithNoAmount(String json)
    • validateChargeOffTransaction

      public void validateChargeOffTransaction(String json)
    • validateUpdateOfLoanOfficer

      public void validateUpdateOfLoanOfficer(String json)
    • validateForBulkLoanReassignment

      public void validateForBulkLoanReassignment(String json)
    • validateMarkAsFraudLoan

      public void validateMarkAsFraudLoan(String json)
    • validateUpdateDisbursementDateAndAmount

      public void validateUpdateDisbursementDateAndAmount(String json, org.apache.fineract.portfolio.loanaccount.domain.LoanDisbursementDetails loanDisbursementDetails)
    • validateNewRefundTransaction

      public void validateNewRefundTransaction(String json)
    • validateLoanForeclosure

      public void validateLoanForeclosure(String json)
    • validateLoanClientIsActive

      public void validateLoanClientIsActive(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • validateLoanGroupIsActive

      public void validateLoanGroupIsActive(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • validateLoanHasNoLaterChargeRefundTransactionToReverseOrCreateATransaction

      public void validateLoanHasNoLaterChargeRefundTransactionToReverseOrCreateATransaction(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate, String reversedOrCreated)
    • validateLoanDisbursementIsBeforeTransactionDate

      public void validateLoanDisbursementIsBeforeTransactionDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate)
    • validateTransactionShouldNotBeInTheFuture

      public void validateTransactionShouldNotBeInTheFuture(LocalDate transactionDate)
    • validateLoanHasCurrency

      public void validateLoanHasCurrency(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • validateClientOfficeJoiningDateIsBeforeTransactionDate

      public void validateClientOfficeJoiningDateIsBeforeTransactionDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate transactionDate)
    • validateActivityNotBeforeLastTransactionDate

      public void validateActivityNotBeforeLastTransactionDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate activityDate, org.apache.fineract.portfolio.loanaccount.domain.LoanEvent event)
    • validateRepaymentDateIsOnNonWorkingDay

      public void validateRepaymentDateIsOnNonWorkingDay(LocalDate repaymentDate, org.apache.fineract.organisation.workingdays.domain.WorkingDays workingDays, boolean allowTransactionsOnNonWorkingDay)
    • validateRepaymentDateIsOnHoliday

      public void validateRepaymentDateIsOnHoliday(LocalDate repaymentDate, boolean allowTransactionsOnHoliday, List<org.apache.fineract.organisation.holiday.domain.Holiday> holidays)
    • validateTransactionAmountNotExceedThresholdForMultiDisburseLoan

      public void validateTransactionAmountNotExceedThresholdForMultiDisburseLoan(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • validateLoanTransactionInterestPaymentWaiver

      public void validateLoanTransactionInterestPaymentWaiver(org.apache.fineract.infrastructure.core.api.JsonCommand command)
    • validateLoanTransactionInterestPaymentWaiverAfterRecalculation

      public void validateLoanTransactionInterestPaymentWaiverAfterRecalculation(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
    • validateRefund

      public void validateRefund(String json)
    • validateRefund

      public void validateRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, LocalDate transactionDate, org.apache.fineract.portfolio.loanaccount.data.ScheduleGeneratorDTO scheduleGeneratorDTO)
    • validateRepaymentTypeTransactionNotBeforeAChargeRefund

      public void validateRepaymentTypeTransactionNotBeforeAChargeRefund(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanTransactionType loanTransactionType, LocalDate transactionDate)
    • validateRefundDateIsAfterLastRepayment

      public void validateRefundDateIsAfterLastRepayment(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate refundTransactionDate)
    • validateActivityNotBeforeClientOrGroupTransferDate

      public void validateActivityNotBeforeClientOrGroupTransferDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanEvent event, LocalDate activityDate)
    • validateIfTransactionIsChargeback

      public void validateIfTransactionIsChargeback(org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction chargebackTransaction)
    • validateLoanRescheduleDate

      public void validateLoanRescheduleDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)