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 }