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.principal; 17 18 import java.util.Date; 19 20 import org.joda.time.LocalDate; 21 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract; 22 import org.kuali.kpme.core.api.calendar.CalendarContract; 23 import org.kuali.kpme.core.api.leaveplan.LeavePlanContract; 24 import org.kuali.rice.kim.api.identity.Person; 25 26 /** 27 * <p>PrincipalHRAttributesContract interface</p> 28 * 29 */ 30 public interface PrincipalHRAttributesContract extends HrBusinessObjectContract { 31 32 /** 33 * The principalId the PrincipalHRAttributes is associated with 34 * 35 * <p> 36 * principalId of a PrincipalHRAttributes 37 * </p> 38 * 39 * @return principalId for PrincipalHRAttributes 40 */ 41 public String getPrincipalId(); 42 43 /** 44 * The principalId's names (first, middle and last names) the PrincipalHRAttributes is associated with 45 * 46 * <p> 47 * It gets a Person object if person is null based on the principalId. 48 * person.getName() constructs the first, middle and last names. 49 * </p> 50 * 51 * @return person.getName() if person is not null, otherwise "" 52 */ 53 public String getName(); 54 55 /** 56 * Defines the calendar associated with the user for their timesheet 57 * 58 * <p> 59 * payCalendar of a PrincipalHRAttributes 60 * </p> 61 * 62 * @return payCalendar for PrincipalHRAttributes 63 */ 64 public String getPayCalendar(); 65 66 /** 67 * The name of the LeavePlan object the PrincipalHRAttributes is associated with 68 * 69 * <p> 70 * The employee's Leave Plan that determines the accrual rules and leave codes. 71 * </p> 72 * 73 * @return leavePlan of PrincipalHRAttributes 74 */ 75 public String getLeavePlan(); 76 77 /** 78 * The employee's start date for their leave eligible job 79 * 80 * <p> 81 * serviceDate of a PrincipalHRAttributes 82 * </p> 83 * 84 * @return serviceDate for PrincipalHRAttributes 85 */ 86 public Date getServiceDate(); 87 88 /** 89 * The serviceDate (LocalDate) the PrincipalHRAttributes is associated with 90 * 91 * <p> 92 * serviceDate of a PrincipalHRAttributes 93 * </p> 94 * 95 * @return serviceDate for PrincipalHRAttributes 96 */ 97 public LocalDate getServiceLocalDate(); 98 99 /** 100 * The fmlaEligible flag to dictate if FMLA leave codes are available for the employee to select on leave calendar 101 * 102 * <p> 103 * fmlaEligible of a PrincipalHRAttributes 104 * </p> 105 * 106 * @return true if fmla eligible, false if not 107 */ 108 public boolean isFmlaEligible(); 109 110 /** 111 * The workersCompEligible flag to dictate if FMLA leave codes are available for the employee to select on leave calendar 112 * 113 * <p> 114 * workersCompEligible of a PrincipalHRAttributes 115 * </p> 116 * 117 * @return true if worker's comp eligible, false if not 118 */ 119 public boolean isWorkersCompEligible(); 120 121 /** 122 * The time zone that the employee is located in 123 * 124 * <p> 125 * timezone of PrincipalHRAttributes 126 * </p> 127 * 128 * @return timezone for PrincipalHRAttributes 129 */ 130 public String getTimezone(); 131 132 /** 133 * The Calendar object the PrincipalHRAttributes is associated with 134 * 135 * <p> 136 * calendar of a PrincipalHRAttributes 137 * </p> 138 * 139 * @return calendar for PrincipalHRAttributes 140 */ 141 public CalendarContract getCalendar(); 142 143 /** 144 * The Person object the PrincipalHRAttributes is associated with 145 * 146 * <p> 147 * person of a aPrincipalHRAttributes 148 * </p> 149 * 150 * @return person for PrincipalHRAttributes 151 */ 152 public Person getPerson(); 153 154 /** 155 * Determines the accrual rules and leave codes for the employee 156 * 157 * <p> 158 * leavePlanObj of a PrincipalHRAttributes 159 * </p> 160 * 161 * @return leavePlanObj for PrincipalHRAttributes 162 */ 163 public LeavePlanContract getLeavePlanObj(); 164 165 /** 166 * The name of the LeaveCalendar object the PrincipalHRAttributes is associated with 167 * 168 * <p> 169 * leaveCalendar of a PrincipalHRAttributes 170 * </p> 171 * 172 * @return leaveCalendar for PrincipalHRAttributes 173 */ 174 public String getLeaveCalendar(); 175 176 /** 177 * The primary key of a PrincipalHRAttributes entry saved in a database 178 * 179 * <p> 180 * hrPrincipalAttributeId of a PrincipalHRAttributes 181 * <p> 182 * 183 * @return hrPrincipalAttributeId for PrincipalHRAttributes 184 */ 185 public String getHrPrincipalAttributeId(); 186 187 /** 188 * The history flag for PrincipalHRAttributes lookups 189 * 190 * <p> 191 * history of PrincipalHRAttributes 192 * </p> 193 * 194 * @return true if want to show history, false if not 195 */ 196 public Boolean getHistory(); 197 198 }