View Javadoc
1   package net.objectlab.kit.datecalc.joda;
2   
3   import net.objectlab.kit.datecalc.common.CurrencyDateCalculatorBuilder;
4   import net.objectlab.kit.datecalc.common.ccy.AbstractCurrencyDateCalculator;
5   
6   import org.joda.time.LocalDate;
7   
8   /**
9    * Joda LocalDate implementation for currency date calculator.
10   * @author Benoit Xhenseval
11   * @since 1.4.0
12   */
13  public class LocalDateCurrencyDateCalculator extends AbstractCurrencyDateCalculator<LocalDate> {
14  
15      public LocalDateCurrencyDateCalculator(final CurrencyDateCalculatorBuilder<LocalDate> builder) {
16          super(builder);
17      }
18  
19      @Override
20      protected LocalDate addMonths(LocalDate date, int unit) {
21          return date.plusMonths(unit);
22      }
23  
24      @Override
25      protected LocalDate calculateNextDay(final LocalDate date) {
26          return date.plusDays(1);
27      }
28  
29      @Override
30      protected int calendarWeekDay(final LocalDate date) {
31          return JodaWorkingWeek.jodaToCalendarDayConstant(date);
32      }
33  
34      @Override
35      protected LocalDate max(final LocalDate d1, final LocalDate d2) {
36          return d1.isAfter(d2) ? d1 : d2;
37      }
38  
39  }