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.department; 17 18 import java.util.List; 19 20 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract; 21 import org.kuali.kpme.core.api.kfs.coa.businessobject.ChartContract; 22 import org.kuali.kpme.core.api.kfs.coa.businessobject.OrganizationContract; 23 import org.kuali.kpme.core.api.location.LocationContract; 24 import org.kuali.kpme.core.api.role.department.DepartmentPrincipalRoleMemberBoContract; 25 26 /** 27 * <p>DepartmentContract interface.</p> 28 * 29 */ 30 public interface DepartmentContract extends HrBusinessObjectContract { 31 32 /** 33 * The Primary Key of a Department entry saved in a database 34 * 35 * <p> 36 * hrDeptId of Department 37 * <p> 38 * 39 * @return hrDeptId for Department 40 */ 41 public String getHrDeptId(); 42 43 /** 44 * Text field used to identify the Department 45 * 46 * <p> 47 * dept of Department 48 * <p> 49 * 50 * @return dept for Department 51 */ 52 public String getDept(); 53 54 /** 55 * Text which describes the department value 56 * 57 * <p> 58 * description of Department 59 * <p> 60 * 61 * @return description for Department 62 */ 63 public String getDescription(); 64 65 /** 66 * The name of the Location object associated with this Department 67 * 68 * <p> 69 * location of Department 70 * <p> 71 * 72 * @return location for Department 73 */ 74 public String getLocation(); 75 76 /** 77 * Chart value under which the Department is defined 78 * 79 * <p> 80 * chart of Department 81 * <p> 82 * 83 * @return chart for Department 84 */ 85 public String getChart(); 86 87 /** 88 * Organization value under which the Department is defined 89 * 90 * <p> 91 * org of Department 92 * <p> 93 * 94 * @return org for Department 95 */ 96 public String getOrg(); 97 98 /** 99 * Location object associated with this Department 100 * 101 * <p> 102 * locationObj of Department 103 * <p> 104 * 105 * @return locationObj for Department 106 */ 107 public LocationContract getLocationObj(); 108 109 /** 110 * Chart object under which the Department is defined 111 * 112 * <p> 113 * chartObj of Department 114 * <p> 115 * 116 * @return chartObj for Department 117 */ 118 public ChartContract getChartObj(); 119 120 /** 121 * Organization under which the Department is defined 122 * 123 * <p> 124 * org of Department 125 * <p> 126 * 127 * @return org for Department 128 */ 129 public OrganizationContract getOrgObj(); 130 131 /** 132 * List of Active principal role approvers for this Department 133 * 134 * <p> 135 * roleMembers of WorkArea 136 * </p> 137 * 138 * @return roleMembers for WorkArea 139 */ 140 public List<? extends DepartmentPrincipalRoleMemberBoContract> getRoleMembers(); 141 142 /** 143 * List of Inactive principal role approvers for this Department 144 * 145 * <p> 146 * inactiveRoleMembers of WorkArea 147 * </p> 148 * 149 * @return inactiveRoleMembers for WorkArea 150 */ 151 public List<? extends DepartmentPrincipalRoleMemberBoContract> getInactiveRoleMembers(); 152 153 /** 154 * History flag for Department lookups 155 * 156 * <p> 157 * history of Department 158 * </p> 159 * 160 * @return Y if want to show history, N if not 161 */ 162 public String getHistory(); 163 164 /** 165 * Indicates if this Department needs payroll approval 166 * 167 * <p> 168 * payrollApproval of Department 169 * </p> 170 * 171 * @return true if needs payroll approval, false if not 172 */ 173 public boolean isPayrollApproval(); 174 }