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 }