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
10
11
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 }