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.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 }