001 /**
002 * Copyright 2004-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.hr.time.principal;
017
018 import java.sql.Date;
019
020 import org.kuali.hr.core.KPMEConstants;
021 import org.kuali.hr.lm.leaveplan.LeavePlan;
022 import org.kuali.hr.time.HrBusinessObject;
023 import org.kuali.hr.time.calendar.Calendar;
024 import org.kuali.rice.kim.api.identity.Person;
025 import org.kuali.rice.kim.api.services.KimApiServiceLocator;
026
027 public class PrincipalHRAttributes extends HrBusinessObject {
028
029 private static final long serialVersionUID = 6843318899816055301L;
030
031 public static final String CACHE_NAME = KPMEConstants.APPLICATION_NAMESPACE_CODE + "/" + "PrincipalHRAttributes";
032
033 private String hrPrincipalAttributeId;
034 private String principalId;
035 private String leaveCalendar;
036 private String payCalendar;
037 private String leavePlan;
038 private Date serviceDate;
039 private boolean fmlaEligible;
040 private boolean workersCompEligible;
041 private String timezone;
042 private Boolean history;
043 // KPME-1268 Kagata added recordTime and recordLeave variables
044 // KPME-1676
045 // private String recordTime;
046 // private String recordLeave;
047
048 private transient Calendar calendar;
049 private transient Calendar leaveCalObj;
050 private transient Person person;
051 private transient LeavePlan leavePlanObj;
052
053
054 public String getPrincipalId() {
055 return principalId;
056 }
057
058 public void setPrincipalId(String principalId) {
059 this.principalId = principalId;
060 person = KimApiServiceLocator.getPersonService().getPerson(this.principalId);
061 }
062
063 public String getName() {
064 if (person == null) {
065 person = KimApiServiceLocator.getPersonService().getPerson(this.principalId);
066 }
067 return (person != null) ? person.getName() : "";
068 }
069
070 public String getPayCalendar() {
071 return payCalendar;
072 }
073
074 public void setPayCalendar(String payCalendar) {
075 this.payCalendar = payCalendar;
076 }
077
078 public String getLeavePlan() {
079 return leavePlan;
080 }
081
082 public void setLeavePlan(String leavePlan) {
083 this.leavePlan = leavePlan;
084 }
085
086 public Date getServiceDate() {
087 return serviceDate;
088 }
089
090 public void setServiceDate(Date serviceDate) {
091 this.serviceDate = serviceDate;
092 }
093
094 public boolean isFmlaEligible() {
095 return fmlaEligible;
096 }
097
098 public void setFmlaEligible(boolean fmlaEligible) {
099 this.fmlaEligible = fmlaEligible;
100 }
101
102 public boolean isWorkersCompEligible() {
103 return workersCompEligible;
104 }
105
106 public void setWorkersCompEligible(boolean workersCompEligible) {
107 this.workersCompEligible = workersCompEligible;
108 }
109
110 public String getTimezone() {
111 return timezone;
112 }
113
114 public void setTimezone(String timezone) {
115 this.timezone = timezone;
116 }
117
118 public Calendar getCalendar() {
119 return calendar;
120 }
121
122 public void setCalendar(Calendar calendar) {
123 this.calendar = calendar;
124 }
125
126 public Person getPerson() {
127 return person;
128 }
129
130 public void setPerson(Person person) {
131 this.person = person;
132 }
133
134 public LeavePlan getLeavePlanObj() {
135 return leavePlanObj;
136 }
137
138 public void setLeavePlanObj(LeavePlan leavePlanObj) {
139 this.leavePlanObj = leavePlanObj;
140 }
141
142 @Override
143 protected String getUniqueKey() {
144 return principalId + "_" + payCalendar == null ? "" : payCalendar + "_"
145 + leaveCalendar == null ? "" : leaveCalendar;
146 }
147
148 public String getLeaveCalendar() {
149 return leaveCalendar;
150 }
151
152 public void setLeaveCalendar(String leaveCalendar) {
153 this.leaveCalendar = leaveCalendar;
154 }
155
156 @Override
157 public String getId() {
158 return this.getHrPrincipalAttributeId();
159 }
160 @Override
161 public void setId(String id) {
162 setHrPrincipalAttributeId(id);
163 }
164
165 public Calendar getLeaveCalObj() {
166 return leaveCalObj;
167 }
168
169 public void setLeaveCalObj(Calendar leaveCalObj) {
170 this.leaveCalObj = leaveCalObj;
171 }
172
173 public String getHrPrincipalAttributeId() {
174 return hrPrincipalAttributeId;
175 }
176
177 public void setHrPrincipalAttributeId(String hrPrincipalAttributeId) {
178 this.hrPrincipalAttributeId = hrPrincipalAttributeId;
179 }
180
181 public Boolean getHistory() {
182 return history;
183 }
184
185 public void setHistory(Boolean history) {
186 this.history = history;
187 }
188 }