View Javadoc

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.time.flsa;
17  
18  import java.util.List;
19  
20  import org.joda.time.LocalTime;
21  
22  
23  /**
24   * <p>FlsaWeekContract interface</p>
25   *
26   */
27  public interface FlsaWeekContract {
28  	
29  	/**
30  	 * The list of FlsaDay objects associated with the FlsaWeek
31  	 * 
32  	 * <p>
33  	 * flsaDays of a FlsaWeek
34  	 * <p>
35  	 * 
36  	 * @return flsaDays for FlsaWeek
37  	 */
38  	public List<? extends FlsaDayContract> getFlsaDays();
39  
40  	/**
41  	 * Indicates if the first week is full or not
42  	 * 
43  	 * <p>
44  	 * If the first week of a pay period has an FLSA starting time that is before
45  	 * the "Virtual Day" pay period start time, part of the time required for this
46  	 * first day will be in the previous pay period even if we have 7 days.
47  	 * <p>
48  	 * 
49  	 * @return true if the first week is full, false if not
50  	 */
51  	public boolean isFirstWeekFull();
52  	
53  	/**
54  	 * Indicates if the last week is full or not
55  	 * 
56  	 * <p>
57  	 * If the last week of a pay period has an FLSA starting time that is after
58  	 * the "Virtual Day" pay period start time, part of the time required for this
59  	 * last day will be in the next pay period even if we have 7 days.
60  	 * <p>
61  	 * 
62  	 * @return true if the last week is full, false if not
63  	 */
64  	public boolean isLastWeekFull();
65  	
66  	/**
67  	 * The FlsaDay constant associated with the FlsaWeek
68  	 * 
69  	 * <p>
70  	 * flsaDayConstant of a FlsaWeek
71  	 * <p>
72  	 * 
73  	 * @return flsaDayConstant for FlsaWeek
74  	 */
75  	public int getFlsaDayConstant();
76  	
77  	/**
78  	 * The flsaTime associated with the FlsaWeek
79  	 * 
80  	 * <p>
81  	 * flsaTime of a FlsaWeek
82  	 * <p>
83  	 * 
84  	 * @return flsaTime for FlsaWeek
85  	 */
86  	public LocalTime getFlsaTime();
87  
88  }