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 }