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.leave.calendar;
17
18 import java.util.List;
19
20 import org.joda.time.LocalDate;
21 import org.kuali.kpme.core.api.document.calendar.CalendarDocumentContract;
22 import org.kuali.kpme.tklm.api.leave.block.LeaveBlockContract;
23
24
25 /**
26 * <p>LeaveCalendarDocumentContract interface</p>
27 *
28 */
29 public interface LeaveCalendarDocumentContract extends CalendarDocumentContract {
30
31 /**
32 * The list of LeaveBlock objects associated with the LeaveCalendarDocument
33 *
34 * <p>
35 * leaveBlocks of a LeaveCalendarDocument
36 * <p>
37 *
38 * @return leaveBlocks for LeaveCalendarDocument
39 */
40 public List<? extends LeaveBlockContract> getLeaveBlocks();
41
42 /**
43 * The principal id associated with the LeaveCalendarDocument
44 *
45 * <p>
46 * getDocumentHeader().getPrincipalId() of a LeaveCalendarDocument
47 * <p>
48 *
49 * @return getDocumentHeader().getPrincipalId() for LeaveCalendarDocument
50 */
51 public String getPrincipalId();
52
53 /**
54 * The document id associated with the LeaveCalendarDocument
55 *
56 * <p>
57 * getDocumentHeader().getDocumentId() of a LeaveCalendarDocument
58 * <p>
59 *
60 * @return getDocumentHeader().getDocumentId() for LeaveCalendarDocument
61 */
62 public String getDocumentId();
63
64 /**
65 * The end date of calendar entry associated with the LeaveCalendarDocument
66 *
67 * <p>
68 * calendar entry end date of a LeaveCalendarDocument
69 * <p>
70 *
71 * @return getCalendarEntry().getEndPeriodFullDateTime().toLocalDate() for LeaveCalendarDocument
72 */
73 public LocalDate getDocEndDate();
74 }