1 package net.objectlab.kit.datecalc.jdk;
2
3 import java.util.Calendar;
4
5 import net.objectlab.kit.datecalc.common.CurrencyDateCalculatorBuilder;
6 import net.objectlab.kit.datecalc.common.ccy.AbstractCurrencyDateCalculator;
7
8
9
10
11
12
13 public class CalendarCurrencyDateCalculator extends AbstractCurrencyDateCalculator<Calendar> {
14
15 public CalendarCurrencyDateCalculator(final CurrencyDateCalculatorBuilder<Calendar> builder) {
16 super(builder);
17 }
18
19 @Override
20 protected Calendar addMonths(final Calendar calc, final int unit) {
21 calc.add(Calendar.MONTH, unit);
22 return calc;
23 }
24
25 @Override
26 protected Calendar calculateNextDay(final Calendar date) {
27 Calendar cal = Calendar.getInstance();
28 cal.setTime(date.getTime());
29 cal.add(Calendar.DAY_OF_MONTH, 1);
30 return cal;
31 }
32
33 @Override
34 protected int calendarWeekDay(final Calendar date) {
35 return date.get(Calendar.DAY_OF_WEEK);
36 }
37
38 @Override
39 protected Calendar max(final Calendar d1, final Calendar d2) {
40 return d1.compareTo(d2) > 0 ? d1 : d2;
41 }
42
43 }