1 /** 2 * Copyright 2004-2015 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.rules.clocklocation; 17 18 import java.util.List; 19 20 import org.kuali.kpme.core.api.department.DepartmentContract; 21 import org.kuali.kpme.core.api.job.JobContract; 22 import org.kuali.kpme.core.api.workarea.WorkAreaContract; 23 import org.kuali.kpme.tklm.api.time.rules.TkRuleContract; 24 import org.kuali.rice.kim.api.identity.Person; 25 26 /** 27 * <p>ClockLocationRuleContract interface</p> 28 * 29 */ 30 public interface ClockLocationRuleContract extends TkRuleContract { 31 32 /** 33 * The work area associated with the ClockLocationRule 34 * 35 * <p> 36 * If a work area is defined, only entries associated with a job in this work area will be subject to IP address validation. 37 * <p> 38 * 39 * @return workArea for ClockLocationRule 40 */ 41 public Long getWorkArea(); 42 43 /** 44 * The principalId associated with the ClockLocationRule 45 * 46 * <p> 47 * If a principal id is defined, only this specific employee will be subject to IP address validation. 48 * <p> 49 * 50 * @return principalId for ClockLocationRule 51 */ 52 public String getPrincipalId(); 53 54 /** 55 * TODO: Is this field needed?? 56 * The user principal id associated with the ClockLocationRule 57 * 58 * <p> 59 * userPrincipalId of a ClockLocationRule 60 * <p> 61 * 62 * @return userPrincipalId for ClockLocationRule 63 */ 64 public String getUserPrincipalId(); 65 66 /** 67 * The jobNumber associated with the ClockLocationRule 68 * 69 * <p> 70 * If job # is defined, only this specific employees job will be subject to IP address validation. 71 * <p> 72 * 73 * @return jobNumber for ClockLocationRule 74 */ 75 public Long getJobNumber(); 76 77 /** 78 * The Department object associated with the ClockLocationRule 79 * 80 * <p> 81 * If a department is defined, only entries associated with a job in this department will be subject to IP address validation. 82 * <p> 83 * 84 * @return department for ClockLocationRule 85 */ 86 public DepartmentContract getDepartment(); 87 88 /** 89 * The WorkArea object associated with the ClockLocationRule 90 * 91 * <p> 92 * If a work area is defined, only entries associated with a job in this work area will be subject to IP address validation. 93 * <p> 94 * 95 * @return workAreaObj for ClockLocationRule 96 */ 97 public WorkAreaContract getWorkAreaObj(); 98 99 /** 100 * The Job object associated with the ClockLocationRule 101 * 102 * <p> 103 * If job # is defined, only this specific employees job will be subject to IP address validation. 104 * <p> 105 * 106 * @return job for ClockLocationRule 107 */ 108 public JobContract getJob(); 109 110 /** 111 * The primary key of a ClockLocationRule entry saved in a database 112 * 113 * <p> 114 * tkClockLocationRuleId of a ClockLocationRule 115 * <p> 116 * 117 * @return tkClockLocationRuleId for ClockLocationRule 118 */ 119 public String getTkClockLocationRuleId(); 120 121 /** 122 * The department associated with the ClockLocationRule 123 * 124 * <p> 125 * If a department is defined, only entries associated with a job in this department will be subject to IP address validation. 126 * <p> 127 * 128 * @return dept for ClockLocationRule 129 */ 130 public String getDept(); 131 132 /** 133 * The history flag of the ClockLocationRule 134 * 135 * <p> 136 * history flag of a ClockLocationRule 137 * <p> 138 * 139 * @return Y if on, N if not 140 */ 141 public Boolean getHistory(); 142 143 /** 144 * The Person object associated with the ClockLocationRule 145 * 146 * <p> 147 * If a principal id is defined, only this specific employee will be subject to IP address validation. 148 * <p> 149 * 150 * @return principal for ClockLocationRule 151 */ 152 public Person getPrincipal(); 153 154 /** 155 * The hrDeptId associated with the ClockLocationRule 156 * 157 * <p> 158 * hrDeptId of a ClockLocationRule 159 * <p> 160 * 161 * @return hrDeptId for ClockLocationRule 162 */ 163 public String getHrDeptId(); 164 165 /** 166 * The tkWorkAreaId associated with the ClockLocationRule 167 * 168 * <p> 169 * tkWorkAreaId of a ClockLocationRule 170 * <p> 171 * 172 * @return tkWorkAreaId for ClockLocationRule 173 */ 174 public String getTkWorkAreaId(); 175 176 /** 177 * The hrJobId associated with the ClockLocationRule 178 * 179 * <p> 180 * hrJobId of a ClockLocationRule 181 * <p> 182 * 183 * @return hrJobId for ClockLocationRule 184 */ 185 public String getHrJobId(); 186 187 /** 188 * The list of ClockLocationRuleIpAddress objects associated with the ClockLocationRule 189 * 190 * <p> 191 * ipAddresses of a ClockLocationRule 192 * <p> 193 * 194 * @return ipAddresses for ClockLocationRule 195 */ 196 public List<? extends ClockLocationRuleIpAddressContract> getIpAddresses(); 197 198 /** 199 * The IP Address to be used for validation 200 * 201 * <p> 202 * for lookup and inquiry display only 203 * <p> 204 * 205 * @return ip addresses string for ClockLocationRule 206 */ 207 public String getIpAddressesString(); 208 209 }