/** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mifosplatform.portfolio.loanproduct; import java.math.BigDecimal; public interface LoanProductConstants { public static final String useBorrowerCycleParameterName = "useBorrowerCycle"; public static final String principalVariationsForBorrowerCycleParameterName = "principalVariationsForBorrowerCycle"; public static final String interestRateVariationsForBorrowerCycleParameterName = "interestRateVariationsForBorrowerCycle"; public static final String numberOfRepaymentVariationsForBorrowerCycleParameterName = "numberOfRepaymentVariationsForBorrowerCycle"; public static final String defaultValueParameterName = "defaultValue"; public static final String minValueParameterName = "minValue"; public static final String maxValueParameterName = "maxValue"; public static final String valueConditionTypeParamName = "valueConditionType"; public static final String borrowerCycleNumberParamName = "borrowerCycleNumber"; public static final String borrowerCycleIdParameterName = "id"; public static final String principalPerCycleParameterName = "principalPerCycle"; public static final String minPrincipalPerCycleParameterName = "minPrincipalPerCycle"; public static final String maxPrincipalPerCycleParameterName = "maxPrincipalPerCycle"; public static final String principalValueUsageConditionParamName = "principalValueUsageCondition"; public static final String principalCycleNumbersParamName = "principalCycleNumbers"; public static final String numberOfRepaymentsPerCycleParameterName = "numberOfRepaymentsPerCycle"; public static final String minNumberOfRepaymentsPerCycleParameterName = "minNumberOfRepaymentsPerCycle"; public static final String maxNumberOfRepaymentsPerCycleParameterName = "maxNumberOfRepaymentsPerCycle"; public static final String repaymentValueUsageConditionParamName = "repaymentValueUsageCondition"; public static final String repaymentCycleNumberParamName = "repaymentCycleNumber"; public static final String interestRatePerPeriodPerCycleParameterName = "interestRatePerPeriodPerCycle"; public static final String minInterestRatePerPeriodPerCycleParameterName = "minInterestRatePerPeriodPerCycle"; public static final String maxInterestRatePerPeriodPerCycleParameterName = "maxInterestRatePerPeriodPerCycle"; public static final String interestRateValueUsageConditionParamName = "interestRateValueUsageCondition"; public static final String interestRateCycleNumberParamName = "interestRateCycleNumber"; public static final String principal = "principal"; public static final String minPrincipal = "minPrincipal"; public static final String maxPrincipal = "maxPrincipalValue"; public static final String interestRatePerPeriod = "interestRatePerPeriod"; public static final String minInterestRatePerPeriod = "minInterestRatePerPeriod"; public static final String maxInterestRatePerPeriod = "maxInterestRatePerPeriod"; public static final String numberOfRepayments = "numberOfRepayments"; public static final String minNumberOfRepayments = "minNumberOfRepayments"; public static final String maxNumberOfRepayments = "maxNumberOfRepayments"; public static final String VALUE_CONDITION_END_WITH_ERROR = "condition.type.must.end.with.greterthan"; public static final String VALUE_CONDITION_START_WITH_ERROR = "condition.type.must.start.with.equal"; public static final String shortName = "shortName"; public static final String multiDisburseLoanParameterName = "multiDisburseLoan"; public static final String maxTrancheCountParameterName = "maxTrancheCount"; public static final String outstandingLoanBalanceParameterName = "outstandingLoanBalance"; public static final String graceOnArrearsAgeingParameterName = "graceOnArrearsAgeing"; public static final String overdueDaysForNPAParameterName = "overdueDaysForNPA"; public static final String minimumDaysBetweenDisbursalAndFirstRepayment = "minimumDaysBetweenDisbursalAndFirstRepayment"; public static final String accountMovesOutOfNPAOnlyOnArrearsCompletionParamName = "accountMovesOutOfNPAOnlyOnArrearsCompletion"; // Interest recalculation related public static final String isInterestRecalculationEnabledParameterName = "isInterestRecalculationEnabled"; public static final String daysInYearTypeParameterName = "daysInYearType"; public static final String daysInMonthTypeParameterName = "daysInMonthType"; public static final String interestRecalculationCompoundingMethodParameterName = "interestRecalculationCompoundingMethod"; public static final String rescheduleStrategyMethodParameterName = "rescheduleStrategyMethod"; public static final String recalculationRestFrequencyTypeParameterName = "recalculationRestFrequencyType"; public static final String recalculationRestFrequencyIntervalParameterName = "recalculationRestFrequencyInterval"; public static final String recalculationRestFrequencyDateParamName = "recalculationRestFrequencyDate"; public static final String isArrearsBasedOnOriginalScheduleParamName = "isArrearsBasedOnOriginalSchedule"; public static final String preClosureInterestCalculationStrategyParamName = "preClosureInterestCalculationStrategy"; public static final String recalculationCompoundingFrequencyTypeParameterName = "recalculationCompoundingFrequencyType"; public static final String recalculationCompoundingFrequencyIntervalParameterName = "recalculationCompoundingFrequencyInterval"; public static final String recalculationCompoundingFrequencyDateParamName = "recalculationCompoundingFrequencyDate"; // Guarantee related public static final String holdGuaranteeFundsParamName = "holdGuaranteeFunds"; public static final String mandatoryGuaranteeParamName = "mandatoryGuarantee"; public static final String minimumGuaranteeFromOwnFundsParamName = "minimumGuaranteeFromOwnFunds"; public static final String minimumGuaranteeFromGuarantorParamName = "minimumGuaranteeFromGuarantor"; public static final String principalThresholdForLastInstallmentParamName = "principalThresholdForLastInstallment"; public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_MULTI_DISBURSE_LOAN = BigDecimal.valueOf(50); public static final BigDecimal DEFAULT_PRINCIPAL_THRESHOLD_FOR_SINGLE_DISBURSE_LOAN = BigDecimal.valueOf(0); // Fixed installment configuration related public static final String canDefineEmiAmountParamName = "canDefineInstallmentAmount"; public static final String installmentAmountInMultiplesOfParamName = "installmentAmountInMultiplesOf"; //Loan Configurable Attributes public static final String allowAttributeOverridesParamName = "allowAttributeOverrides"; public static final String amortizationTypeParamName = "amortizationType"; public static final String interestTypeParamName = "interestType"; public static final String transactionProcessingStrategyIdParamName = "transactionProcessingStrategyId"; public static final String interestCalculationPeriodTypeParamName = "interestCalculationPeriodType"; public static final String inArrearsToleranceParamName = "inArrearsTolerance"; public static final String repaymentEveryParamName = "repaymentEvery"; public static final String graceOnPrincipalAndInterestPaymentParamName = "graceOnPrincipalAndInterestPayment"; //Variable Installments Settings public static final String allowVariableInstallmentsParamName = "allowVariableInstallments" ; public static final String minimumGapBetweenInstallments = "minimumGap" ; public static final String maximumGapBetweenInstallments = "maximumGap" ; public static final String allowPartialPeriodInterestCalcualtionParamName = "allowPartialPeriodInterestCalcualtion"; }