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 }