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.rules.lunch.department;
17
18 import java.math.BigDecimal;
19
20 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
21 import org.kuali.kpme.core.api.department.DepartmentContract;
22 import org.kuali.kpme.core.api.job.JobContract;
23 import org.kuali.kpme.core.api.workarea.WorkAreaContract;
24 import org.kuali.rice.kim.api.identity.Person;
25
26 /**
27 * <p>DeptLunchRuleContract interface</p>
28 *
29 */
30 public interface DeptLunchRuleContract extends HrBusinessObjectContract {
31
32 /**
33 * The principal associated with the DeptLunchRule
34 *
35 * <p>
36 * If a principal id is defined, only this specific employee will be subject to the automatic lunch deduction.
37 * <p>
38 *
39 * @return principal for DeptLunchRule
40 */
41 public Person getPrincipal();
42
43 /**
44 * The Job object associated with the DeptLunchRule
45 *
46 * <p>
47 * If job # is defined, only this specific employee's job will be subject to the automatic lunch deduction.
48 * <p>
49 *
50 * @return job for DeptLunchRule
51 */
52 public JobContract getJob();
53
54 /**
55 * The WorkArea object associated with the DeptLunchRule
56 *
57 * <p>
58 * If a work area is defined, only entries associated with a job in this work area will be subject to the automatic lunch deduction.
59 * <p>
60 *
61 * @return workAreaObj for DeptLunchRule
62 */
63 public WorkAreaContract getWorkAreaObj();
64
65 /**
66 * The Department object associated with the DeptLunchRule
67 *
68 * <p>
69 * If a department is defined, only entries associated with a job in this department will be subject to the automatic lunch deduction.
70 * <p>
71 *
72 * @return departmentObj for DeptLunchRule
73 */
74 public DepartmentContract getDepartmentObj();
75
76 /**
77 * The work area associated with the DeptLunchRule
78 *
79 * <p>
80 * If a work area is defined, only entries associated with a job in this work area will be subject to the automatic lunch deduction.
81 * <p>
82 *
83 * @return workArea for DeptLunchRule
84 */
85 public Long getWorkArea();
86
87 /**
88 * The principalId associated with the DeptLunchRule
89 *
90 * <p>
91 * If a principal id is defined, only this specific employee will be subject to the automatic lunch deduction.
92 * <p>
93 *
94 * @return principalId for DeptLunchRule
95 */
96 public String getPrincipalId();
97
98 /**
99 * The jobNumber associated with the DeptLunchRule
100 *
101 * <p>
102 * If job # is defined, only this specific employee's job will be subject to the automatic lunch deduction.
103 * <p>
104 *
105 * @return jobNumber for DeptLunchRule
106 */
107 public Long getJobNumber();
108
109 /**
110 * User which set up the lunch rule
111 *
112 * <p>
113 * userPrincipalId of a DeptLunchRule
114 * <p>
115 *
116 * @return userPrincipalId for DeptLunchRule
117 */
118 public String getUserPrincipalId();
119
120 /**
121 * The primary key of a DeptLunchRule entry saved in a database
122 *
123 * <p>
124 * tkTimeCollectionRuleId of a DeptLunchRule
125 * <p>
126 *
127 * @return tkTimeCollectionRuleId for DeptLunchRule
128 */
129 public String getTkDeptLunchRuleId();
130
131 /**
132 * The dept associated with the DeptLunchRule
133 *
134 * <p>
135 * If a department is defined, only entries associated with a job in this department will be subject to the automatic lunch deduction.
136 * <p>
137 *
138 * @return dept for DeptLunchRule
139 */
140 public String getDept();
141
142 /**
143 * The amount of minutes to be deducted as a lunch
144 *
145 * <p>
146 * deductionMins of a DeptLunchRule
147 * <p>
148 *
149 * @return deductionMins for DeptLunchRule
150 */
151 public BigDecimal getDeductionMins();
152
153 /**
154 * The number of hours which must be met in order for the deduction to occur
155 *
156 * <p>
157 * shiftHours of a DeptLunchRule
158 * <p>
159 *
160 * @return shiftHours for DeptLunchRule
161 */
162 public BigDecimal getShiftHours();
163
164 /**
165 * The id of the WorkArea object associated with the DeptLunchRule
166 *
167 * <p>
168 * tkWorkAreaId of a DeptLunchRule
169 * <p>
170 *
171 * @return tkWorkAreaId for DeptLunchRule
172 */
173 public String getTkWorkAreaId();
174
175 /**
176 * The id of the Department object associated with the DeptLunchRule
177 *
178 * <p>
179 * hrDeptId of a DeptLunchRule
180 * <p>
181 *
182 * @return hrDeptId for DeptLunchRule
183 */
184 public String getHrDeptId();
185
186 /**
187 * The id of the Job object associated with the DeptLunchRule
188 *
189 * <p>
190 * hrJobId of a DeptLunchRule
191 * <p>
192 *
193 * @return hrJobId for DeptLunchRule
194 */
195 public String getHrJobId();
196
197 /**
198 * The history flag of the DeptLunchRule
199 *
200 * <p>
201 * history flag of a DeptLunchRule
202 * <p>
203 *
204 * @return Y if on, N if not
205 */
206 public boolean isHistory();
207
208 }