1 /* 2 * Copyright 2007-2008 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.ImmutableInactivatable; 22 import org.kuali.rice.core.util.type.KualiDecimal; 23 import org.kuali.rice.kim.api.identity.TypeContract; 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, ImmutableInactivatable, Identifiable { 32 33 34 /** 35 * Gets this id of the parent identity object. 36 * @return the identity id for this {@link 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 TypeContract 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 TypeContract 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 }