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.time.rules.clocklocation.dao; 17 18 import java.util.List; 19 20 import org.joda.time.LocalDate; 21 import org.kuali.kpme.tklm.time.rules.clocklocation.ClockLocationRule; 22 23 public interface ClockLocationDao { 24 /** 25 * Get Clock location rule based on passed in criteria 26 * @param dept 27 * @param workArea 28 * @param principalId 29 * @param jobNumber 30 * @param asOfDate 31 * @return 32 */ 33 public List<ClockLocationRule> getClockLocationRule(String dept, Long workArea, String principalId, 34 Long jobNumber, LocalDate asOfDate); 35 /** 36 * Get list of clock location rules based on criteria 37 * @param dept 38 * @param workArea 39 * @param principalId 40 * @param jobNumber 41 * @param asOfDate 42 * @return 43 */ 44 public List<ClockLocationRule> getNewerVersionClockLocationRule(String dept, Long workArea, String principalId, 45 Long jobNumber, LocalDate asOfDate); 46 /** 47 * Get Clock Location Rule based on id 48 * @param tkClockLocationRuleId 49 * @return 50 */ 51 public ClockLocationRule getClockLocationRule(String tkClockLocationRuleId); 52 /** 53 * populate ip addresses for given ClockLocationRule 54 * @param ClockLocationRule 55 * @return 56 */ 57 public void populateIPAddressesForCLR(ClockLocationRule clr); 58 59 List<ClockLocationRule> getClockLocationRules(LocalDate fromEffdt, LocalDate toEffdt, String principalId, String jobNumber, String dept, String workArea, String active, String showHistory); 60 }