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.core.api.paygrade;
17
18 import java.math.BigDecimal;
19
20 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
21
22 /**
23 * <p>PayGradeContract interface.</p>
24 *
25 */
26 public interface PayGradeContract extends HrBusinessObjectContract {
27
28 /**
29 * The Primary Key of a PayGrade entry saved in a database
30 *
31 * <p>
32 * hrPayGradeId of a PayGrade
33 * <p>
34 *
35 * @return hrPayGradeId for PayGrade
36 */
37 public String getHrPayGradeId();
38
39 /**
40 * Text field used to identify the PayGrade
41 *
42 * <p>
43 * payGrade of a PayGrade
44 * <p>
45 *
46 * @return payGrade for PayGrade
47 */
48 public String getPayGrade();
49
50 /**
51 * Description of the PayGrade
52 *
53 * <p>
54 * description of a PayGrade
55 * <p>
56 *
57 * @return description for PayGrade
58 */
59 public String getDescription();
60
61 /**
62 *TODO: is this field needed?
63 */
64 public String getUserPrincipalId() ;
65
66 /**
67 * The name of the SalaryGroup the PayGrade is associated with.
68 *
69 * <p>
70 * salGroup of a PayGrade
71 * <p>
72 *
73 * @return salGroup for PayGrade
74 */
75 public String getSalGroup();
76
77 /**
78 * The name of the Institution the PayGrade is associated with.
79 *
80 * <p>
81 * institution of a PayGrade
82 * <p>
83 *
84 * @return institution for PayGrade
85 */
86 public String getInstitution();
87 /**
88 * The measurement of the pay rate ranges being defined for this PayGrade
89 *
90 * <p>
91 * rateType of a PayGrade
92 * <p>
93 *
94 * @return H forHour, W for Week, S for Semi-Month, M for Month, Y for Year
95 */
96 public String getRateType();
97
98 /**
99 * Minimum pay rate for this PayGrade
100 *
101 * <p>
102 * minRate of a PayGrade
103 * <p>
104 *
105 * @return minRate for PayGrade
106 */
107 public BigDecimal getMinRate();
108
109 /**
110 * Maximum pay rate for this PayGrade
111 *
112 * <p>
113 * maxRate of a PayGrade
114 * <p>
115 *
116 * @return maxRate for PayGrade
117 */
118 public BigDecimal getMaxRate();
119
120 /**
121 * Mid Point pay rate for this PayGrade
122 *
123 * <p>
124 * midPointRate of a PayGrade
125 * <p>
126 *
127 * @return midPointRate for PayGrade
128 */
129 public BigDecimal getMidPointRate();
130
131 /**
132 * Maximum Hiring pay rate for this PayGrade
133 *
134 * <p>
135 * maxHiringRate of a PayGrade
136 * <p>
137 *
138 * @return maxHiringRate for PayGrade
139 */
140 public BigDecimal getMaxHiringRate();
141
142 /**
143 * History flag for PayGrade lookups
144 *
145 * <p>
146 * history of PayGrade
147 * </p>
148 *
149 * @return true if want to show history, false if not
150 */
151 public String getHistory();
152
153 /**
154 * The name of the Location the PayGrade is associated with.
155 *
156 * <p>
157 * location of a PayGrade
158 * <p>
159 *
160 * @return location for PayGrade
161 */
162 public String getLocation();
163 }