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 }