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