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