package net.objectlab.kit.datecalc.joda; import net.objectlab.kit.datecalc.common.CurrencyDateCalculatorBuilder; import net.objectlab.kit.datecalc.common.ccy.AbstractCurrencyDateCalculator; import org.joda.time.LocalDate; /** * Joda LocalDate implementation for currency date calculator. * @author Benoit Xhenseval * @since 1.4.0 */ public class LocalDateCurrencyDateCalculator extends AbstractCurrencyDateCalculator<LocalDate> { public LocalDateCurrencyDateCalculator(final CurrencyDateCalculatorBuilder<LocalDate> builder) { super(builder); } @Override protected LocalDate addMonths(LocalDate date, int unit) { return date.plusMonths(unit); } @Override protected LocalDate calculateNextDay(final LocalDate date) { return date.plusDays(1); } @Override protected int calendarWeekDay(final LocalDate date) { return JodaWorkingWeek.jodaToCalendarDayConstant(date); } @Override protected LocalDate max(final LocalDate d1, final LocalDate d2) { return d1.isAfter(d2) ? d1 : d2; } }