1 /**
2 * Copyright 2004-2013 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.leave.summary;
17
18 import java.util.List;
19
20
21
22 /**
23 * <p>LeaveSummaryContract interface</p>
24 *
25 */
26 public interface LeaveSummaryContract {
27
28 /**
29 * The list of LeaveSummaryRow objects associated with the LeaveSummary
30 *
31 * <p>
32 * leaveSummaryRows of a LeaveSummary
33 * <p>
34 *
35 * @return leaveSummaryRows for LeaveSummary
36 */
37 public List<? extends LeaveSummaryRowContract> getLeaveSummaryRows();
38
39 /**
40 * The LeaveSummaryRow object associated with the LeaveSummary
41 *
42 * <p>
43 * leaveSummaryRow of a LeaveSummary
44 * <p>
45 *
46 * @param accrualCategory name to retrieve LeaveSummaryRow objects from leaveSummaryRows
47 * @return leaveSummaryRow for LeaveSummary
48 */
49 public LeaveSummaryRowContract getLeaveSummaryRowForAccrualCtgy(String accrualCategory);
50
51 /**
52 * TODO: Put a better comment
53 * The year to date dates string associated with the LeaveSummary
54 *
55 * <p>
56 * ytdDatesString of a LeaveSummary
57 * <p>
58 *
59 * @return ytdDatesString for LeaveSummary
60 */
61 public String getYtdDatesString();
62
63 /**
64 * TODO: Put a better comment
65 * The pending dates String associated with the LeaveSummary
66 *
67 * <p>
68 * pendingDatesString of a LeaveSummary
69 * <p>
70 *
71 * @return pendingDatesString for LeaveSummary
72 */
73 public String getPendingDatesString();
74
75 /**
76 * The list of approval headers associated with the LeaveSummary
77 *
78 * <p>
79 * approvalHeaders of a LeaveSummary
80 * <p>
81 *
82 * @return approvalHeaders for LeaveSummary
83 */
84 public List<String> getApprovalHeaders();
85
86 /**
87 * The LeaveSummaryRow object associated with the LeaveSummary
88 *
89 * <p>
90 * leaveSummaryRow of a LeaveSummary
91 * <p>
92 *
93 * @param accrualCategory id to retrieve LeaveSummaryRow object from leaveSummaryRows
94 * @return leaveSummaryRow for LeaveSummary
95 */
96 public LeaveSummaryRowContract getLeaveSummaryRowForAccrualCategory(String accrualCategoryId);
97
98 /**
99 * The note associated with the LeaveSummary
100 *
101 * <p>
102 * note of a LeaveSummary
103 * <p>
104 *
105 * @return note for LeaveSummary
106 */
107 public String getNote();
108
109 }