View Javadoc
1   /**
2    * Copyright 2004-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.kpme.tklm.api.time.calendar;
17  
18  import org.joda.time.DateTime;
19  import org.kuali.kpme.core.api.calendar.CalendarParentContract;
20  import org.kuali.kpme.core.api.calendar.entry.CalendarEntry;
21  
22  import java.util.List;
23  
24  
25  /**
26   * <p>TkCalendarContract interface</p>
27   *
28   */
29  public interface TkCalendarContract extends CalendarParentContract {
30  
31      /**
32  	 * The payCalEntry object associated with the TkCalendar
33  	 * 
34  	 * <p>
35  	 * payCalEntry of a TkCalendar
36  	 * <p>
37  	 * 
38  	 * @return payCalEntry for TkCalendar
39  	 */
40      public CalendarEntry getPayCalEntry();
41  
42      /**
43  	 * The beginDateTime associated with the TkCalendar
44  	 * 
45  	 * <p>
46  	 * beginDateTime of a TkCalendar
47  	 * <p>
48  	 * 
49  	 * @return beginDateTime for TkCalendar
50  	 */
51      public DateTime getBeginDateTime();
52  
53      /**
54  	 * The endDateTime associated with the TkCalendar
55  	 * 
56  	 * <p>
57  	 * endDateTime of a TkCalendar
58  	 * <p>
59  	 * 
60  	 * @return endDateTime for TkCalendar
61  	 */
62      public DateTime getEndDateTime();
63      
64      /**
65  	 * The string for calendar title use associated with the TkCalendar
66  	 * 
67  	 * <p>
68  	 * Provides the calendar title/heading. If the Pay Calendar entry spans
69       * multiple months, you get Abbreviated Month name + year of both the
70       * beginning month and the ending month.
71  	 * <p>
72  	 * 
73  	 * @return a string for calendar title use for TkCalendar
74  	 */
75      public String getCalendarTitle();
76      
77      /**
78  	 * The list of string titles for each row block (day) associated with the TkCalendar
79  	 * 
80  	 * <p>
81  	 * Assumption of 7 "days" per week, or 7 "blocks" per row.
82  	 * <p>
83  	 * 
84  	 * @return a list of string titles for each row block (day) for TkCalendar
85  	 */
86      public List<String> getCalendarDayHeadings();
87  
88      /**
89  	 * The year portion of beginDateTime associated with the TkCalendar
90  	 * 
91  	 * <p>
92  	 * year portion of beginDateTime of a TkCalendar
93  	 * <p>
94  	 * 
95  	 * @return getBeginDateTime().toString("yyyy") for TkCalendar
96  	 */
97      public String getCalenadrYear();
98  
99      /**
100 	 * The month portion of beginDateTime associated with the TkCalendar
101 	 * 
102 	 * <p>
103 	 * month portion of beginDateTime of a TkCalendar
104 	 * <p>
105 	 * 
106 	 * @return getBeginDateTime().toString("M") for TkCalendar
107 	 */
108     public String getCalendarMonth();
109 
110 }