View Javadoc
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 }