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 }