View Javadoc

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 }