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.time.clocklog; 17 18 import org.joda.time.DateTime; 19 import org.kuali.kpme.core.api.job.JobContract; 20 import org.kuali.kpme.core.api.mo.KpmeKeyedDataTransferObject; 21 22 23 /** 24 * <p>ClockLogContract interface</p> 25 * 26 */ 27 public interface ClockLogContract extends KpmeKeyedDataTransferObject { 28 29 /** 30 * The primary key of a ClockLog entry saved in a database 31 * 32 * <p> 33 * tkClockLogId of a ClockLog 34 * <p> 35 * 36 * @return tkClockLogId for ClockLog 37 */ 38 public String getTkClockLogId(); 39 40 /** 41 * The documentId associated with the ClockLog 42 * 43 * <p> 44 * documentId of a ClockLog 45 * <p> 46 * 47 * @return documentId for ClockLog 48 */ 49 public String getDocumentId(); 50 51 /** 52 * The principalId associated with the ClockLog 53 * 54 * <p> 55 * principalId of a ClockLog 56 * <p> 57 * 58 * @return principalId for ClockLog 59 */ 60 public String getPrincipalId(); 61 62 /** 63 * The jobNumber associated with the ClockLog 64 * 65 * <p> 66 * jobNumber of a ClockLog 67 * <p> 68 * 69 * @return jobNumber for ClockLog 70 */ 71 public Long getJobNumber(); 72 73 /** 74 * The dept associated with the ClockLog's job record 75 * 76 * <p> 77 * dept of a ClockLog 78 * <p> 79 * 80 * @return jobNumber for ClockLog 81 */ 82 public String getDept(); 83 84 85 /** 86 * The clockTimestamp associated with the ClockLog 87 * 88 * <p> 89 * clockTimestamp of a ClockLog 90 * <p> 91 * 92 * @return new DateTime(clockTimestamp) for ClockLog 93 */ 94 public DateTime getClockDateTime(); 95 96 /** 97 * The clockAction associated with the ClockLog 98 * 99 * <p> 100 * clockAction of a ClockLog 101 * <p> 102 * 103 * @return clockAction for ClockLog 104 */ 105 public String getClockAction(); 106 107 /** 108 * The ipAddress associated with the ClockLog 109 * 110 * <p> 111 * ipAddress of a ClockLog 112 * <p> 113 * 114 * @return ipAddress for ClockLog 115 */ 116 public String getIpAddress(); 117 118 /** 119 * The userPrincipalId associated with the ClockLog 120 * 121 * <p> 122 * userPrincipalId of a ClockLog 123 * <p> 124 * 125 * @return userPrincipalId for ClockLog 126 */ 127 public String getUserPrincipalId(); 128 129 /** 130 * The creation date associated with the ClockLog 131 * 132 * <p> 133 * timestamp of a ClockLog 134 * <p> 135 * 136 * @return timestamp for ClockLog 137 */ 138 public DateTime getCreateTime(); 139 140 /** 141 * The clockTimestampTimezone associated with the ClockLog 142 * 143 * <p> 144 * clockTimestampTimezone of a ClockLog 145 * <p> 146 * 147 * @return clockTimestampTimezone for ClockLog 148 */ 149 public String getClockTimestampTimezone(); 150 151 /** 152 * The next valid clock action associated with the ClockLog 153 * 154 * <p> 155 * If clockAction is CI (clock in), the next action is CO (clock out). 156 * If clockAction is CO, the next action is CI. 157 * If clockAction is LI (lunch in), the next action is LO (lunch out). 158 * If clockAction is LO, the next action is LI. 159 * <p> 160 * 161 * @return next valid clock action for ClockLog 162 */ 163 public String getNextValidClockAction(); 164 165 /** 166 * The Job object associated with the ClockLog 167 * 168 * <p> 169 * job of a ClockLog 170 * <p> 171 * 172 * @return job for ClockLog 173 */ 174 public JobContract getJob(); 175 176 /** 177 * The WorkArea object associated with the ClockLog 178 * 179 * <p> 180 * workAreaObj of a ClockLog 181 * <p> 182 * 183 * @return workAreaObj for ClockLog 184 */ 185 //public WorkAreaContract getWorkAreaObj(); 186 187 /** 188 * The Task object associated with the ClockLog 189 * 190 * <p> 191 * taskObj of a ClockLog 192 * <p> 193 * 194 * @return taskObj for ClockLog 195 */ 196 //public TaskContract getTaskObj(); 197 198 /** 199 * The workArea associated with the ClockLog 200 * 201 * <p> 202 * workArea of a ClockLog 203 * <p> 204 * 205 * @return workArea for ClockLog 206 */ 207 public Long getWorkArea() ; 208 209 /** 210 * The task associated with the ClockLog 211 * 212 * <p> 213 * task of a ClockLog 214 * <p> 215 * 216 * @return task for ClockLog 217 */ 218 public Long getTask(); 219 220 /** 221 * The clockedByMissedPunch flag of the MissedPunch 222 * 223 * <p> 224 * clockedByMissedPunch flag of a MissedPunch 225 * <p> 226 * 227 * @return Y if clocked by missed punch, N if not 228 */ 229 public boolean isClockedByMissedPunch(); 230 231 /** 232 * The unapprovedIP flag of the ClockLog 233 * 234 * <p> 235 * unapprovedIP flag of a ClockLog 236 * <p> 237 * 238 * @return Y if it's an approved ip, N if not 239 */ 240 public boolean isUnapprovedIP(); 241 242 /** 243 * The string representation of the Assignment of the ClockLog 244 * 245 * @return assignmentDesriptionKey 246 */ 247 public String getAssignmentDescriptionKey(); 248 249 }