1
2
3
4
5
6
7
8
9
10
11 package de.jaret.util.date.iterator;
12
13 import de.jaret.util.date.JaretDate;
14
15 /***
16 * dateIterator iterating over months.
17 *
18 * @author kliem
19 * @version $Id: MonthIterator.java 828 2009-02-08 13:58:21Z kliem $
20 */
21 public class MonthIterator extends AbstractDateIterator implements DateIterator {
22 /*** default formatter. */
23 protected IIteratorFormatter _defaultFormatter = new IIteratorFormatter() {
24
25 /***
26 * {@inheritDoc}
27 */
28 public String getLabel(JaretDate date, Format format) {
29 if (format.equals(Format.SHORT)) {
30 return Integer.toString(date.getMonth()) + ".";
31 } else if (format.equals(Format.MEDIUM)) {
32 return date.getShortMonthString() + " " + date.getYear();
33 } else {
34 return date.getMonthString() + " " + date.getYear();
35 }
36 }
37 };
38
39 /***
40 * {@inheritDoc}
41 */
42 protected void advanceDate(JaretDate date) {
43 date.advanceMonths(1);
44 }
45
46 /***
47 * {@inheritDoc}
48 */
49 public long getApproxStepMilliSeconds() {
50 return 31L * 24L * 60L * 60L * 1000L;
51 }
52
53 /***
54 * {@inheritDoc}
55 */
56 protected JaretDate correctStartDate(JaretDate date) {
57 date.setTime(0, 0, 0);
58 date.setDay(1);
59 return date;
60 }
61
62 /***
63 * {@inheritDoc}
64 */
65 protected IIteratorFormatter getDefaultFormatter() {
66 return _defaultFormatter;
67 }
68
69 }