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.timesummary; 17 18 import java.math.BigDecimal; 19 import java.util.List; 20 import java.util.Map; 21 22 import org.kuali.kpme.tklm.api.leave.summary.LeaveSummaryRowContract; 23 24 25 26 /** 27 * <p>TimeSummaryContract interface</p> 28 * 29 */ 30 public interface TimeSummaryContract { 31 32 BigDecimal getGrandTotalMinutes(); 33 34 BigDecimal getGrandTotalConverted(); 35 36 /** 37 * The summaryHeader associated with the TimeSummaryContract 38 * 39 * <p> 40 * summaryHeader for TimeSummaryContract 41 * <p> 42 * 43 * @return summaryHeader for TimeSummaryContract 44 */ 45 public List<String> getSummaryHeader(); 46 47 /** 48 * The list of EarnGroupSection objects associated with the TimeSummaryContract 49 * 50 * <p> 51 * sections for TimeSummaryContract 52 * <p> 53 * 54 * @return sections for TimeSummaryContract 55 */ 56 public List<? extends EarnGroupSectionContract> getSections(); 57 58 /** 59 * The list of worked hours associated with the TimeSummaryContract 60 * 61 * <p> 62 * workedHours for TimeSummaryContract 63 * <p> 64 * 65 * @return workedHours for TimeSummaryContract 66 */ 67 public List<BigDecimal> getWorkedHours(); 68 69 /** 70 * The list of LeaveSummaryRow objects associated with the TimeSummaryContract 71 * 72 * <p> 73 * maxedLeaveRows for TimeSummaryContract 74 * <p> 75 * 76 * @return maxedLeaveRows for TimeSummaryContract 77 */ 78 public List<? extends LeaveSummaryRowContract> getMaxedLeaveRows(); 79 80 /** 81 * TODO: Put a better comment 82 * The weekTotalMap associated with the TimeSummaryContract 83 * 84 * <p> 85 * weekTotalMap for TimeSummaryContract 86 * <p> 87 * 88 * @return weekTotalMap for TimeSummaryContract 89 */ 90 public Map<String, BigDecimal> getWeekTotalMap(); 91 92 /** 93 * TODO: Put a better comment 94 * The flsaWeekTotalMap associated with the TimeSummaryContract 95 * 96 * <p> 97 * flsaWeekTotalMap for TimeSummaryContract 98 * <p> 99 * 100 * @return flsaWeekTotalMap for TimeSummaryContract 101 */ 102 public Map<String, BigDecimal> getFlsaWeekTotalMap(); 103 104 public Map<String, Map<Integer, Boolean>> getWeeklyClockLogs(); 105 106 }