Example usage for java.math MathContext MathContext

List of usage examples for java.math MathContext MathContext

Introduction

In this page you can find the example usage for java.math MathContext MathContext.

Prototype

public MathContext(int setPrecision, RoundingMode setRoundingMode) 

Source Link

Document

Constructs a new MathContext with a specified precision and rounding mode.

Usage

From source file:com.gst.portfolio.loanaccount.domain.Loan.java

private LoanScheduleDTO getRecalculatedSchedule(final ScheduleGeneratorDTO generatorDTO) {

    if (!this.repaymentScheduleDetail().isInterestRecalculationEnabled() || isNpa) {
        return null;
    }/* ww  w. ja  v  a  2 s.  co  m*/
    final InterestMethod interestMethod = this.loanRepaymentScheduleDetail.getInterestMethod();
    final LoanScheduleGenerator loanScheduleGenerator = generatorDTO.getLoanScheduleFactory()
            .create(interestMethod);

    final RoundingMode roundingMode = MoneyHelper.getRoundingMode();
    final MathContext mc = new MathContext(8, roundingMode);

    final LoanApplicationTerms loanApplicationTerms = constructLoanApplicationTerms(generatorDTO);

    final LoanRepaymentScheduleTransactionProcessor loanRepaymentScheduleTransactionProcessor = this.transactionProcessorFactory
            .determineProcessor(this.transactionProcessingStrategy);

    return loanScheduleGenerator.rescheduleNextInstallments(mc, loanApplicationTerms, this,
            generatorDTO.getHolidayDetailDTO(), loanRepaymentScheduleTransactionProcessor,
            generatorDTO.getRecalculateFrom());
}

From source file:com.gst.portfolio.loanaccount.domain.Loan.java

public LoanRepaymentScheduleInstallment fetchPrepaymentDetail(final ScheduleGeneratorDTO scheduleGeneratorDTO,
        final LocalDate onDate) {
    LoanRepaymentScheduleInstallment installment = null;

    if (this.loanRepaymentScheduleDetail.isInterestRecalculationEnabled()) {
        final RoundingMode roundingMode = MoneyHelper.getRoundingMode();
        final MathContext mc = new MathContext(8, roundingMode);

        final InterestMethod interestMethod = this.loanRepaymentScheduleDetail.getInterestMethod();
        final LoanApplicationTerms loanApplicationTerms = constructLoanApplicationTerms(scheduleGeneratorDTO);

        final LoanScheduleGenerator loanScheduleGenerator = scheduleGeneratorDTO.getLoanScheduleFactory()
                .create(interestMethod);
        final LoanRepaymentScheduleTransactionProcessor loanRepaymentScheduleTransactionProcessor = this.transactionProcessorFactory
                .determineProcessor(this.transactionProcessingStrategy);
        installment = loanScheduleGenerator.calculatePrepaymentAmount(getCurrency(), onDate,
                loanApplicationTerms, mc, this, scheduleGeneratorDTO.getHolidayDetailDTO(),
                loanRepaymentScheduleTransactionProcessor);
    } else {// www.  ja v a2s  .  co m
        installment = this.getTotalOutstandingOnLoan();
    }
    return installment;
}