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.core.api.salarygroup;
17  
18  import java.math.BigDecimal;
19  
20  import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
21  
22  /**
23   * <p>SalaryGroupContract interface.</p>
24   *
25   */
26  public interface SalaryGroupContract extends HrBusinessObjectContract {
27  	
28  	/**
29  	 * History flag for SalaryGroup lookups 
30  	 * 
31  	 * <p>
32  	 * history of SalaryGroup
33  	 * </p>
34  	 * 
35  	 * @return true if want to show history, false if not
36  	 */
37  	public boolean isHistory();
38  	
39  	/**
40  	 * The Primary Key of a SalaryGroup entry saved in a database
41  	 * 
42  	 * <p>
43  	 * hrSalGroupId of a SalaryGroup
44  	 * <p>
45  	 * 
46  	 * @return hrSalGroupId for SalaryGroup
47  	 */
48  	public String getHrSalGroupId();
49  
50  	/**
51  	 * Text field used to identify the salary group
52  	 * 
53  	 * <p>
54  	 * hrSalGroup of a SalaryGroup
55  	 * <p>
56  	 * 
57  	 * @return hrSalGroup for SalaryGroup
58  	 */
59  	public String getHrSalGroup();
60  	
61  	/**
62  	 * Description of the salary group
63  	 * 
64  	 * <p>
65  	 * descr of a SalaryGroup
66  	 * <p>
67  	 * 
68  	 * @return descr for SalaryGroup
69  	 */
70  	public String getDescr();
71  	
72  	/**
73  	 * The name of the institution the salary group is associated with.
74  	 * 
75  	 * <p>
76  	 * institution of a SalaryGroup
77  	 * <p>
78  	 * 
79  	 * @return institution for SalaryGroup
80  	 */
81  	public String getInstitution();
82  	
83  	/**
84  	 * Maximum percentage of time worked for the SalaryGroup. When defining individual positions and jobs, 
85  	 * the percent time will be less than the Salary Group's Percent Time. Percentage will be entered.  
86  	 * Uses:  leave accrual, payroll calculations, FTE reporting, etc...
87  	 * i.e. 40 hours per week is 100% percent time, 20 hours per week is 50% percent time
88  	 * 
89  	 * <p>
90  	 * percentTime of a SalaryGroup
91  	 * <p>
92  	 * 
93  	 * @return percentTime for SalaryGroup
94  	 */
95  	public BigDecimal getPercentTime();
96  	
97  	/**
98  	 * Flag indicating if the SalaryGroup is eligible for benefits
99  	 * 
100 	 * <p>
101 	 * benefitsEligible of a SalaryGroup
102 	 * <p>
103 	 * 
104 	 * @return Y if eligible for benefits, N if not
105 	 */
106 	public String getBenefitsEligible();
107 
108 	/**
109 	 * Flag indicating if the SalaryGroup is eligible for leave benefits
110 	 * 
111 	 * <p>
112 	 * leaveEligible of a SalaryGroup
113 	 * <p>
114 	 * 
115 	 * @return Y if eligible for leave benefits, N if not
116 	 */
117 	public String getLeaveEligible();
118 
119 	/**
120 	 * The name of the LeavePlan the salary group is associated with.
121 	 * 
122 	 * <p>
123 	 * leavePlan of a SalaryGroup
124 	 * <p>
125 	 * 
126 	 * @return leavePlan for SalaryGroup
127 	 */
128 	public String getLeavePlan();
129 
130 	/**
131 	 * The name of the Location the salary group is associated with.
132 	 * 
133 	 * <p>
134 	 * location of a SalaryGroup
135 	 * <p>
136 	 * 
137 	 * @return location for SalaryGroup
138 	 */
139 	public String getLocation();
140 }