View Javadoc
1   /*
2    * Copyright 2009, openv4j.sf.net, and individual contributors as indicated
3    * by the @authors tag. See the copyright.txt in the distribution for a
4    * full listing of individual contributors.
5    *
6    * This is free software; you can redistribute it and/or modify it
7    * under the terms of the GNU General Public License as
8    * published by the Free Software Foundation; either version 3 of
9    * the License, or (at your option) any later version.
10   *
11   * This software is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this software; if not, write to the Free
18   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
20   *
21   * $Id: $
22   *
23   * @author arnep
24   */
25  package net.sf.openv4j;
26  
27  /**
28   * DOCUMENT ME!
29   *
30   * @author aploese
31   */
32  public class CycleTimes {
33      private CycleTimeEntry[] entries;
34  
35      /**
36       * Creates a new CycleTimes object.
37       *
38       * @param numberOfCycles DOCUMENT ME!
39       */
40      public CycleTimes(int numberOfCycles) {
41          entries = new CycleTimeEntry[numberOfCycles];
42      }
43  
44      /**
45       * DOCUMENT ME!
46       *
47       * @param i DOCUMENT ME!
48       *
49       * @return DOCUMENT ME!
50       */
51      public CycleTimeEntry getEntry(int i) {
52          return entries[i];
53      }
54  
55      /**
56       * DOCUMENT ME!
57       *
58       * @param i DOCUMENT ME!
59       * @param entry DOCUMENT ME!
60       */
61      public void setEntry(int i, CycleTimeEntry entry) {
62          entries[i] = entry;
63      }
64  
65      /**
66       * DOCUMENT ME!
67       *
68       * @return DOCUMENT ME!
69       */
70      @Override
71      public String toString() {
72          StringBuilder sb = new StringBuilder();
73  
74          for (CycleTimeEntry ct : entries) {
75              if (ct == null) {
76                  sb.append("ON --:-- OFF --:-- | ");
77              } else {
78                  sb.append(String.format("ON %02d:%02d OFF %02d:%02d | ", ct.getStartHour(), ct.getStartMin(), ct.getEndHour(), ct.getEndMin()));
79              }
80          }
81  
82          sb.delete(sb.lastIndexOf(" | "), sb.length());
83  
84          return sb.toString();
85      }
86  
87      //TODO parse String....
88  }