View Javadoc

1   /*
2    *  File: MonthIterator.java 
3    *  Copyright (c) 2004-2007  Peter Kliem (Peter.Kliem@jaret.de)
4    *  A commercial license is available, see http://www.jaret.de.
5    *
6    * All rights reserved. This program and the accompanying materials
7    * are made available under the terms of the Common Public License v1.0
8    * which accompanies this distribution, and is available at
9    * http://www.eclipse.org/legal/cpl-v10.html
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  }