All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.objectlab.kit.datecalc.jdk.DateCurrencyDateCalculator Maven / Gradle / Ivy

package net.objectlab.kit.datecalc.jdk;

import java.util.Calendar;
import java.util.Date;

import net.objectlab.kit.datecalc.common.CurrencyDateCalculatorBuilder;
import net.objectlab.kit.datecalc.common.ccy.AbstractCurrencyDateCalculator;

/**
 * JDK Date implementation for currency date calculator.
 * @author Benoit Xhenseval
 * @since 1.4.0
 */
public class DateCurrencyDateCalculator extends AbstractCurrencyDateCalculator {

    public DateCurrencyDateCalculator(final CurrencyDateCalculatorBuilder builder) {
        super(builder);
    }

    @Override
    protected Date addMonths(final Date calc, final int unit) {
        final Calendar cal = Calendar.getInstance();
        cal.setTime(calc);
        cal.add(Calendar.MONTH, unit);
        return cal.getTime();
    }

    @Override
    protected Date calculateNextDay(final Date date) {
        final Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.DAY_OF_MONTH, 1);
        return cal.getTime();
    }

    @Override
    protected int calendarWeekDay(final Date date) {
        final Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal.get(Calendar.DAY_OF_WEEK);
    }

    @Override
    protected Date max(final Date d1, final Date d2) {
        return d1.compareTo(d2) > 0 ? d1 : d2;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy