001 /** 002 * Copyright 2005-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.kim.api.identity.employment; 017 018 import org.kuali.rice.core.api.mo.common.GloballyUnique; 019 import org.kuali.rice.core.api.mo.common.Identifiable; 020 import org.kuali.rice.core.api.mo.common.Versioned; 021 import org.kuali.rice.core.api.mo.common.active.Inactivatable; 022 import org.kuali.rice.core.api.util.type.KualiDecimal; 023 import org.kuali.rice.kim.api.identity.CodedAttributeContract; 024 import org.kuali.rice.kim.api.identity.affiliation.EntityAffiliationContract; 025 026 /** 027 * employment information for a KIM identity 028 * 029 * @author Kuali Rice Team (rice.collab@kuali.org) 030 */ 031 public interface EntityEmploymentContract extends Versioned, GloballyUnique, Inactivatable, Identifiable { 032 033 034 /** 035 * Gets this id of the parent identity object. 036 * @return the identity id for this {@link org.kuali.rice.kim.api.identity.email.EntityEmailContract} 037 */ 038 String getEntityId(); 039 040 /** 041 * Gets this {@link EntityEmploymentContract}'s identity affiliation. 042 * @return the identity affiliation for this {@link EntityEmploymentContract}, or null if none has been assigned. 043 */ 044 EntityAffiliationContract getEntityAffiliation(); 045 046 /** 047 * Gets this {@link EntityEmploymentContract}'s employee status. 048 * @return the employee status for this {@link EntityEmploymentContract}, or null if none has been assigned. 049 */ 050 CodedAttributeContract getEmployeeStatus(); 051 052 /** 053 * Gets this {@link EntityEmploymentContract}'s employee type. 054 * @return the employee type for this {@link EntityEmploymentContract}, or null if none has been assigned. 055 */ 056 CodedAttributeContract getEmployeeType(); 057 058 /** 059 * Gets this {@link EntityEmploymentContract}'s primary department code. 060 * @return the primary department code for this {@link EntityEmploymentContract}, or null if none has been assigned. 061 */ 062 String getPrimaryDepartmentCode(); 063 064 /** 065 * Gets this {@link EntityEmploymentContract}'s employee id. 066 * @return the employee id for this {@link EntityEmploymentContract}, or null if none has been assigned. 067 */ 068 String getEmployeeId(); 069 070 /** 071 * Gets this {@link EntityEmploymentContract}'s employment record id. 072 * @return the employment record id for this {@link EntityEmploymentContract}, or null if none has been assigned. 073 */ 074 String getEmploymentRecordId(); 075 076 /** 077 * Gets this {@link EntityEmploymentContract}'s base salary amount. 078 * @return the base salary amount for this {@link EntityEmploymentContract}, or null if none has been assigned. 079 */ 080 KualiDecimal getBaseSalaryAmount(); 081 082 /** 083 * The primary value for this object. 084 * 085 * @return returns true if the record is the primary Employment record for the parent entity 086 */ 087 boolean isPrimary(); 088 089 }