Class LoanTransactionValidatorImpl

java.lang.Object
org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidatorImpl
All Implemented Interfaces:
org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator

@Component("loanTransactionValidator") public final class LoanTransactionValidatorImpl extends Object implements org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
  • Constructor Details

    • LoanTransactionValidatorImpl

      public LoanTransactionValidatorImpl()
  • Method Details

    • validateDisbursement

      public void validateDisbursement(org.apache.fineract.infrastructure.core.api.JsonCommand command, boolean isAccountTransfer, Long loanId)
      Specified by:
      validateDisbursement in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateUndoChargeOff

      public void validateUndoChargeOff(String json)
      Specified by:
      validateUndoChargeOff in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateTransaction

      public void validateTransaction(String json)
      Specified by:
      validateTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateChargebackTransaction

      public void validateChargebackTransaction(String json)
      Specified by:
      validateChargebackTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateNewRepaymentTransaction

      public void validateNewRepaymentTransaction(String json)
      Specified by:
      validateNewRepaymentTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateTransactionWithNoAmount

      public void validateTransactionWithNoAmount(String json)
      Specified by:
      validateTransactionWithNoAmount in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateChargeOffTransaction

      public void validateChargeOffTransaction(String json)
      Specified by:
      validateChargeOffTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateUpdateOfLoanOfficer

      public void validateUpdateOfLoanOfficer(String json)
      Specified by:
      validateUpdateOfLoanOfficer in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateForBulkLoanReassignment

      public void validateForBulkLoanReassignment(String json)
      Specified by:
      validateForBulkLoanReassignment in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateMarkAsFraudLoan

      public void validateMarkAsFraudLoan(String json)
      Specified by:
      validateMarkAsFraudLoan in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateUpdateDisbursementDateAndAmount

      public void validateUpdateDisbursementDateAndAmount(String json, org.apache.fineract.portfolio.loanaccount.domain.LoanDisbursementDetails loanDisbursementDetails)
      Specified by:
      validateUpdateDisbursementDateAndAmount in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateNewRefundTransaction

      public void validateNewRefundTransaction(String json)
      Specified by:
      validateNewRefundTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanForeclosure

      public void validateLoanForeclosure(String json)
      Specified by:
      validateLoanForeclosure in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanClientIsActive

      public void validateLoanClientIsActive(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      validateLoanClientIsActive in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanGroupIsActive

      public void validateLoanGroupIsActive(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      validateLoanGroupIsActive in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateActivityNotBeforeLastTransactionDate

      public void validateActivityNotBeforeLastTransactionDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate activityDate, org.apache.fineract.portfolio.loanaccount.domain.LoanEvent event)
      Specified by:
      validateActivityNotBeforeLastTransactionDate in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateRepaymentDateIsOnNonWorkingDay

      public void validateRepaymentDateIsOnNonWorkingDay(LocalDate repaymentDate, org.apache.fineract.organisation.workingdays.domain.WorkingDays workingDays, boolean allowTransactionsOnNonWorkingDay)
      Specified by:
      validateRepaymentDateIsOnNonWorkingDay in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateRepaymentDateIsOnHoliday

      public void validateRepaymentDateIsOnHoliday(LocalDate repaymentDate, boolean allowTransactionsOnHoliday, List<org.apache.fineract.organisation.holiday.domain.Holiday> holidays)
      Specified by:
      validateRepaymentDateIsOnHoliday in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanTransactionInterestPaymentWaiver

      public void validateLoanTransactionInterestPaymentWaiver(org.apache.fineract.infrastructure.core.api.JsonCommand command)
      Specified by:
      validateLoanTransactionInterestPaymentWaiver in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanTransactionInterestPaymentWaiverAfterRecalculation

      public void validateLoanTransactionInterestPaymentWaiverAfterRecalculation(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      validateLoanTransactionInterestPaymentWaiverAfterRecalculation in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateRefund

      public void validateRefund(String json)
      Specified by:
      validateRefund in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • 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)
      Specified by:
      validateRefund in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateRefundDateIsAfterLastRepayment

      public void validateRefundDateIsAfterLastRepayment(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, LocalDate refundTransactionDate)
      Specified by:
      validateRefundDateIsAfterLastRepayment in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateActivityNotBeforeClientOrGroupTransferDate

      public void validateActivityNotBeforeClientOrGroupTransferDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan, org.apache.fineract.portfolio.loanaccount.domain.LoanEvent event, LocalDate activityDate)
      Specified by:
      validateActivityNotBeforeClientOrGroupTransferDate in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validatePaymentDetails

      public void validatePaymentDetails(org.apache.fineract.infrastructure.core.data.DataValidatorBuilder baseDataValidator, com.google.gson.JsonElement element)
      Specified by:
      validatePaymentDetails in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateIfTransactionIsChargeback

      public void validateIfTransactionIsChargeback(org.apache.fineract.portfolio.loanaccount.domain.LoanTransaction chargebackTransaction)
      Specified by:
      validateIfTransactionIsChargeback in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateLoanRescheduleDate

      public void validateLoanRescheduleDate(org.apache.fineract.portfolio.loanaccount.domain.Loan loan)
      Specified by:
      validateLoanRescheduleDate in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateNote

      public void validateNote(org.apache.fineract.infrastructure.core.data.DataValidatorBuilder baseDataValidator, com.google.gson.JsonElement element)
      Specified by:
      validateNote in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateExternalId

      public void validateExternalId(org.apache.fineract.infrastructure.core.data.DataValidatorBuilder baseDataValidator, com.google.gson.JsonElement element)
      Specified by:
      validateExternalId in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateReversalExternalId

      public void validateReversalExternalId(org.apache.fineract.infrastructure.core.data.DataValidatorBuilder baseDataValidator, com.google.gson.JsonElement element)
      Specified by:
      validateReversalExternalId in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateManualInterestRefundTransaction

      public void validateManualInterestRefundTransaction(String json)
      Specified by:
      validateManualInterestRefundTransaction in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator
    • validateClassificationCodeValue

      public void validateClassificationCodeValue(String codeName, Long transactionClassificationId, org.apache.fineract.infrastructure.core.data.DataValidatorBuilder baseDataValidator)
      Specified by:
      validateClassificationCodeValue in interface org.apache.fineract.portfolio.loanaccount.serialization.LoanTransactionValidator