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 }