1 /**
2 * Copyright 2005-2012 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.rice.kim.api.identity.employment;
17
18 import org.kuali.rice.core.api.mo.common.GloballyUnique;
19 import org.kuali.rice.core.api.mo.common.Identifiable;
20 import org.kuali.rice.core.api.mo.common.Versioned;
21 import org.kuali.rice.core.api.mo.common.active.Inactivatable;
22 import org.kuali.rice.core.api.util.type.KualiDecimal;
23 import org.kuali.rice.kim.api.identity.CodedAttributeContract;
24 import org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationContract;
25
26 /**
27 * employment information for a KIM identity
28 *
29 * @author Kuali Rice Team (rice.collab@kuali.org)
30 */
31 public interface EntityEmploymentContract extends Versioned, GloballyUnique, Inactivatable, Identifiable {
32
33
34 /**
35 * Gets this id of the parent identity object.
36 * @return the identity id for this {@link org.kuali.rice.kim.api.identity.email.EntityEmailContract}
37 */
38 String getEntityId();
39
40 /**
41 * Gets this {@link EntityEmploymentContract}'s identity affiliation.
42 * @return the identity affiliation for this {@link EntityEmploymentContract}, or null if none has been assigned.
43 */
44 EntityAffiliationContract getEntityAffiliation();
45
46 /**
47 * Gets this {@link EntityEmploymentContract}'s employee status.
48 * @return the employee status for this {@link EntityEmploymentContract}, or null if none has been assigned.
49 */
50 CodedAttributeContract getEmployeeStatus();
51
52 /**
53 * Gets this {@link EntityEmploymentContract}'s employee type.
54 * @return the employee type for this {@link EntityEmploymentContract}, or null if none has been assigned.
55 */
56 CodedAttributeContract getEmployeeType();
57
58 /**
59 * Gets this {@link EntityEmploymentContract}'s primary department code.
60 * @return the primary department code for this {@link EntityEmploymentContract}, or null if none has been assigned.
61 */
62 String getPrimaryDepartmentCode();
63
64 /**
65 * Gets this {@link EntityEmploymentContract}'s employee id.
66 * @return the employee id for this {@link EntityEmploymentContract}, or null if none has been assigned.
67 */
68 String getEmployeeId();
69
70 /**
71 * Gets this {@link EntityEmploymentContract}'s employment record id.
72 * @return the employment record id for this {@link EntityEmploymentContract}, or null if none has been assigned.
73 */
74 String getEmploymentRecordId();
75
76 /**
77 * Gets this {@link EntityEmploymentContract}'s base salary amount.
78 * @return the base salary amount for this {@link EntityEmploymentContract}, or null if none has been assigned.
79 */
80 KualiDecimal getBaseSalaryAmount();
81
82 /**
83 * The primary value for this object.
84 *
85 * @return returns true if the record is the primary Employment record for the parent entity
86 */
87 boolean isPrimary();
88
89 }