001// -------------------------------------------------------------------------------- 002// Copyright 2002-2026 Echo Three, LLC 003// 004// Licensed under the Apache 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.apache.org/licenses/LICENSE-2.0 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// Generated File -- DO NOT EDIT BY HAND 017// -------------------------------------------------------------------------------- 018 019/** 020 * EmploymentDetail.java 021 */ 022 023package com.echothree.model.data.employee.server.entity; 024 025import com.echothree.model.data.employee.common.pk.EmploymentDetailPK; 026 027import com.echothree.model.data.employee.common.pk.EmploymentPK; 028import com.echothree.model.data.party.common.pk.PartyPK; 029import com.echothree.model.data.employee.common.pk.TerminationTypePK; 030import com.echothree.model.data.employee.common.pk.TerminationReasonPK; 031 032import com.echothree.model.data.employee.server.entity.Employment; 033import com.echothree.model.data.party.server.entity.Party; 034import com.echothree.model.data.employee.server.entity.TerminationType; 035import com.echothree.model.data.employee.server.entity.TerminationReason; 036 037import com.echothree.model.data.employee.server.factory.EmploymentFactory; 038import com.echothree.model.data.party.server.factory.PartyFactory; 039import com.echothree.model.data.employee.server.factory.TerminationTypeFactory; 040import com.echothree.model.data.employee.server.factory.TerminationReasonFactory; 041 042import com.echothree.model.data.employee.common.pk.EmploymentDetailPK; 043 044import com.echothree.model.data.employee.server.value.EmploymentDetailValue; 045 046import com.echothree.model.data.employee.server.factory.EmploymentDetailFactory; 047 048import com.echothree.util.common.exception.PersistenceException; 049import com.echothree.util.common.exception.PersistenceDatabaseException; 050import com.echothree.util.common.exception.PersistenceNotNullException; 051import com.echothree.util.common.exception.PersistenceReadOnlyException; 052 053import com.echothree.util.common.persistence.BasePK; 054 055import com.echothree.util.common.persistence.type.ByteArray; 056 057import com.echothree.util.server.persistence.BaseEntity; 058import com.echothree.util.server.persistence.EntityPermission; 059import com.echothree.util.server.persistence.Session; 060import com.echothree.util.server.persistence.ThreadSession; 061 062import java.io.Serializable; 063 064import javax.annotation.Nonnull; 065import javax.annotation.Nullable; 066 067public class EmploymentDetail 068 extends BaseEntity 069 implements Serializable { 070 071 private EmploymentDetailPK _pk; 072 private EmploymentDetailValue _value; 073 074 /** Creates a new instance of EmploymentDetail */ 075 public EmploymentDetail() 076 throws PersistenceException { 077 super(); 078 } 079 080 /** Creates a new instance of EmploymentDetail */ 081 public EmploymentDetail(EmploymentDetailValue value, EntityPermission entityPermission) { 082 super(entityPermission); 083 084 _value = value; 085 _pk = value.getPrimaryKey(); 086 } 087 088 @Override 089 @Nonnull 090 public EmploymentDetailFactory getBaseFactoryInstance() { 091 return EmploymentDetailFactory.getInstance(); 092 } 093 094 @Override 095 public boolean hasBeenModified() { 096 return _value.hasBeenModified(); 097 } 098 099 @Override 100 public int hashCode() { 101 return _pk.hashCode(); 102 } 103 104 @Override 105 @Nonnull 106 public String toString() { 107 return _pk.toString(); 108 } 109 110 @Override 111 public boolean equals(Object other) { 112 if(this == other) 113 return true; 114 115 if(other instanceof EmploymentDetail that) { 116 EmploymentDetailValue thatValue = that.getEmploymentDetailValue(); 117 return _value.equals(thatValue); 118 } else { 119 return false; 120 } 121 } 122 123 @Override 124 public void store() 125 throws PersistenceDatabaseException { 126 getBaseFactoryInstance().store(this); 127 } 128 129 @Override 130 public void remove() 131 throws PersistenceDatabaseException { 132 getBaseFactoryInstance().remove(this); 133 } 134 135 @Nonnull 136 public EmploymentDetailValue getEmploymentDetailValue() { 137 return _value; 138 } 139 140 public void setEmploymentDetailValue(@Nonnull EmploymentDetailValue value) 141 throws PersistenceReadOnlyException { 142 checkReadWrite(); 143 _value = value; 144 } 145 146 @Override 147 @Nonnull 148 public EmploymentDetailPK getPrimaryKey() { 149 return _pk; 150 } 151 152 @Nonnull 153 public EmploymentPK getEmploymentPK() { 154 return _value.getEmploymentPK(); 155 } 156 157 @Nonnull 158 public Employment getEmployment(EntityPermission entityPermission) { 159 return EmploymentFactory.getInstance().getEntityFromPK(entityPermission, getEmploymentPK()); 160 } 161 162 @Nonnull 163 public Employment getEmployment() { 164 return getEmployment(EntityPermission.READ_ONLY); 165 } 166 167 @Nonnull 168 public Employment getEmploymentForUpdate() { 169 return getEmployment(EntityPermission.READ_WRITE); 170 } 171 172 public void setEmploymentPK(@Nonnull EmploymentPK employmentPK) 173 throws PersistenceNotNullException, PersistenceReadOnlyException { 174 checkReadWrite(); 175 _value.setEmploymentPK(employmentPK); 176 } 177 178 public void setEmployment(@Nonnull Employment entity) { 179 setEmploymentPK(entity == null ? null : entity.getPrimaryKey()); 180 } 181 182 public boolean getEmploymentPKHasBeenModified() { 183 return _value.getEmploymentPKHasBeenModified(); 184 } 185 186 @Nonnull 187 public String getEmploymentName() { 188 return _value.getEmploymentName(); 189 } 190 191 public void setEmploymentName(@Nonnull String employmentName) 192 throws PersistenceNotNullException, PersistenceReadOnlyException { 193 checkReadWrite(); 194 _value.setEmploymentName(employmentName); 195 } 196 197 public boolean getEmploymentNameHasBeenModified() { 198 return _value.getEmploymentNameHasBeenModified(); 199 } 200 201 @Nonnull 202 public PartyPK getPartyPK() { 203 return _value.getPartyPK(); 204 } 205 206 @Nonnull 207 public Party getParty(EntityPermission entityPermission) { 208 return PartyFactory.getInstance().getEntityFromPK(entityPermission, getPartyPK()); 209 } 210 211 @Nonnull 212 public Party getParty() { 213 return getParty(EntityPermission.READ_ONLY); 214 } 215 216 @Nonnull 217 public Party getPartyForUpdate() { 218 return getParty(EntityPermission.READ_WRITE); 219 } 220 221 public void setPartyPK(@Nonnull PartyPK partyPK) 222 throws PersistenceNotNullException, PersistenceReadOnlyException { 223 checkReadWrite(); 224 _value.setPartyPK(partyPK); 225 } 226 227 public void setParty(@Nonnull Party entity) { 228 setPartyPK(entity == null ? null : entity.getPrimaryKey()); 229 } 230 231 public boolean getPartyPKHasBeenModified() { 232 return _value.getPartyPKHasBeenModified(); 233 } 234 235 @Nonnull 236 public PartyPK getCompanyPartyPK() { 237 return _value.getCompanyPartyPK(); 238 } 239 240 @Nonnull 241 public Party getCompanyParty(EntityPermission entityPermission) { 242 return PartyFactory.getInstance().getEntityFromPK(entityPermission, getCompanyPartyPK()); 243 } 244 245 @Nonnull 246 public Party getCompanyParty() { 247 return getCompanyParty(EntityPermission.READ_ONLY); 248 } 249 250 @Nonnull 251 public Party getCompanyPartyForUpdate() { 252 return getCompanyParty(EntityPermission.READ_WRITE); 253 } 254 255 public void setCompanyPartyPK(@Nonnull PartyPK companyPartyPK) 256 throws PersistenceNotNullException, PersistenceReadOnlyException { 257 checkReadWrite(); 258 _value.setCompanyPartyPK(companyPartyPK); 259 } 260 261 public void setCompanyParty(@Nonnull Party entity) { 262 setCompanyPartyPK(entity == null ? null : entity.getPrimaryKey()); 263 } 264 265 public boolean getCompanyPartyPKHasBeenModified() { 266 return _value.getCompanyPartyPKHasBeenModified(); 267 } 268 269 @Nonnull 270 public Long getStartTime() { 271 return _value.getStartTime(); 272 } 273 274 public void setStartTime(@Nonnull Long startTime) 275 throws PersistenceNotNullException, PersistenceReadOnlyException { 276 checkReadWrite(); 277 _value.setStartTime(startTime); 278 } 279 280 public boolean getStartTimeHasBeenModified() { 281 return _value.getStartTimeHasBeenModified(); 282 } 283 284 @Nullable 285 public Long getEndTime() { 286 return _value.getEndTime(); 287 } 288 289 public void setEndTime(@Nullable Long endTime) 290 throws PersistenceNotNullException, PersistenceReadOnlyException { 291 checkReadWrite(); 292 _value.setEndTime(endTime); 293 } 294 295 public boolean getEndTimeHasBeenModified() { 296 return _value.getEndTimeHasBeenModified(); 297 } 298 299 @Nullable 300 public TerminationTypePK getTerminationTypePK() { 301 return _value.getTerminationTypePK(); 302 } 303 304 @Nullable 305 public TerminationType getTerminationType(EntityPermission entityPermission) { 306 TerminationTypePK pk = getTerminationTypePK(); 307 TerminationType entity = pk == null? null: TerminationTypeFactory.getInstance().getEntityFromPK(entityPermission, pk); 308 309 return entity; 310 } 311 312 @Nullable 313 public TerminationType getTerminationType() { 314 return getTerminationType(EntityPermission.READ_ONLY); 315 } 316 317 @Nullable 318 public TerminationType getTerminationTypeForUpdate() { 319 return getTerminationType(EntityPermission.READ_WRITE); 320 } 321 322 public void setTerminationTypePK(@Nullable TerminationTypePK terminationTypePK) 323 throws PersistenceNotNullException, PersistenceReadOnlyException { 324 checkReadWrite(); 325 _value.setTerminationTypePK(terminationTypePK); 326 } 327 328 public void setTerminationType(@Nullable TerminationType entity) { 329 setTerminationTypePK(entity == null ? null : entity.getPrimaryKey()); 330 } 331 332 public boolean getTerminationTypePKHasBeenModified() { 333 return _value.getTerminationTypePKHasBeenModified(); 334 } 335 336 @Nullable 337 public TerminationReasonPK getTerminationReasonPK() { 338 return _value.getTerminationReasonPK(); 339 } 340 341 @Nullable 342 public TerminationReason getTerminationReason(EntityPermission entityPermission) { 343 TerminationReasonPK pk = getTerminationReasonPK(); 344 TerminationReason entity = pk == null? null: TerminationReasonFactory.getInstance().getEntityFromPK(entityPermission, pk); 345 346 return entity; 347 } 348 349 @Nullable 350 public TerminationReason getTerminationReason() { 351 return getTerminationReason(EntityPermission.READ_ONLY); 352 } 353 354 @Nullable 355 public TerminationReason getTerminationReasonForUpdate() { 356 return getTerminationReason(EntityPermission.READ_WRITE); 357 } 358 359 public void setTerminationReasonPK(@Nullable TerminationReasonPK terminationReasonPK) 360 throws PersistenceNotNullException, PersistenceReadOnlyException { 361 checkReadWrite(); 362 _value.setTerminationReasonPK(terminationReasonPK); 363 } 364 365 public void setTerminationReason(@Nullable TerminationReason entity) { 366 setTerminationReasonPK(entity == null ? null : entity.getPrimaryKey()); 367 } 368 369 public boolean getTerminationReasonPKHasBeenModified() { 370 return _value.getTerminationReasonPKHasBeenModified(); 371 } 372 373 @Nonnull 374 public Long getFromTime() { 375 return _value.getFromTime(); 376 } 377 378 public void setFromTime(@Nonnull Long fromTime) 379 throws PersistenceNotNullException, PersistenceReadOnlyException { 380 checkReadWrite(); 381 _value.setFromTime(fromTime); 382 } 383 384 public boolean getFromTimeHasBeenModified() { 385 return _value.getFromTimeHasBeenModified(); 386 } 387 388 @Nonnull 389 public Long getThruTime() { 390 return _value.getThruTime(); 391 } 392 393 public void setThruTime(@Nonnull Long thruTime) 394 throws PersistenceNotNullException, PersistenceReadOnlyException { 395 checkReadWrite(); 396 _value.setThruTime(thruTime); 397 } 398 399 public boolean getThruTimeHasBeenModified() { 400 return _value.getThruTimeHasBeenModified(); 401 } 402 403}