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 * Person.java 021 */ 022 023package com.echothree.model.data.party.server.entity; 024 025import com.echothree.model.data.party.common.pk.PersonPK; 026 027import com.echothree.model.data.party.common.pk.PartyPK; 028import com.echothree.model.data.party.common.pk.PersonalTitlePK; 029import com.echothree.model.data.party.common.pk.NameSuffixPK; 030 031import com.echothree.model.data.party.server.entity.Party; 032import com.echothree.model.data.party.server.entity.PersonalTitle; 033import com.echothree.model.data.party.server.entity.NameSuffix; 034 035import com.echothree.model.data.party.server.factory.PartyFactory; 036import com.echothree.model.data.party.server.factory.PersonalTitleFactory; 037import com.echothree.model.data.party.server.factory.NameSuffixFactory; 038 039import com.echothree.model.data.party.common.pk.PersonPK; 040 041import com.echothree.model.data.party.server.value.PersonValue; 042 043import com.echothree.model.data.party.server.factory.PersonFactory; 044 045import com.echothree.util.common.exception.PersistenceException; 046import com.echothree.util.common.exception.PersistenceDatabaseException; 047import com.echothree.util.common.exception.PersistenceNotNullException; 048import com.echothree.util.common.exception.PersistenceReadOnlyException; 049 050import com.echothree.util.common.persistence.BasePK; 051 052import com.echothree.util.common.persistence.type.ByteArray; 053 054import com.echothree.util.server.persistence.BaseEntity; 055import com.echothree.util.server.persistence.EntityPermission; 056import com.echothree.util.server.persistence.Session; 057import com.echothree.util.server.persistence.ThreadSession; 058 059import java.io.Serializable; 060 061import javax.annotation.Nonnull; 062import javax.annotation.Nullable; 063 064public class Person 065 extends BaseEntity 066 implements Serializable { 067 068 private PersonPK _pk; 069 private PersonValue _value; 070 071 /** Creates a new instance of Person */ 072 public Person() 073 throws PersistenceException { 074 super(); 075 } 076 077 /** Creates a new instance of Person */ 078 public Person(PersonValue value, EntityPermission entityPermission) { 079 super(entityPermission); 080 081 _value = value; 082 _pk = value.getPrimaryKey(); 083 } 084 085 @Override 086 @Nonnull 087 public PersonFactory getBaseFactoryInstance() { 088 return PersonFactory.getInstance(); 089 } 090 091 @Override 092 public boolean hasBeenModified() { 093 return _value.hasBeenModified(); 094 } 095 096 @Override 097 public int hashCode() { 098 return _pk.hashCode(); 099 } 100 101 @Override 102 @Nonnull 103 public String toString() { 104 return _pk.toString(); 105 } 106 107 @Override 108 public boolean equals(Object other) { 109 if(this == other) 110 return true; 111 112 if(other instanceof Person that) { 113 PersonValue thatValue = that.getPersonValue(); 114 return _value.equals(thatValue); 115 } else { 116 return false; 117 } 118 } 119 120 @Override 121 public void store() 122 throws PersistenceDatabaseException { 123 getBaseFactoryInstance().store(this); 124 } 125 126 @Override 127 public void remove() 128 throws PersistenceDatabaseException { 129 getBaseFactoryInstance().remove(this); 130 } 131 132 @Nonnull 133 public PersonValue getPersonValue() { 134 return _value; 135 } 136 137 public void setPersonValue(@Nonnull PersonValue value) 138 throws PersistenceReadOnlyException { 139 checkReadWrite(); 140 _value = value; 141 } 142 143 @Override 144 @Nonnull 145 public PersonPK getPrimaryKey() { 146 return _pk; 147 } 148 149 @Nonnull 150 public PartyPK getPartyPK() { 151 return _value.getPartyPK(); 152 } 153 154 @Nonnull 155 public Party getParty(EntityPermission entityPermission) { 156 return PartyFactory.getInstance().getEntityFromPK(entityPermission, getPartyPK()); 157 } 158 159 @Nonnull 160 public Party getParty() { 161 return getParty(EntityPermission.READ_ONLY); 162 } 163 164 @Nonnull 165 public Party getPartyForUpdate() { 166 return getParty(EntityPermission.READ_WRITE); 167 } 168 169 public void setPartyPK(@Nonnull PartyPK partyPK) 170 throws PersistenceNotNullException, PersistenceReadOnlyException { 171 checkReadWrite(); 172 _value.setPartyPK(partyPK); 173 } 174 175 public void setParty(@Nonnull Party entity) { 176 setPartyPK(entity == null ? null : entity.getPrimaryKey()); 177 } 178 179 public boolean getPartyPKHasBeenModified() { 180 return _value.getPartyPKHasBeenModified(); 181 } 182 183 @Nullable 184 public PersonalTitlePK getPersonalTitlePK() { 185 return _value.getPersonalTitlePK(); 186 } 187 188 @Nullable 189 public PersonalTitle getPersonalTitle(EntityPermission entityPermission) { 190 PersonalTitlePK pk = getPersonalTitlePK(); 191 PersonalTitle entity = pk == null? null: PersonalTitleFactory.getInstance().getEntityFromPK(entityPermission, pk); 192 193 return entity; 194 } 195 196 @Nullable 197 public PersonalTitle getPersonalTitle() { 198 return getPersonalTitle(EntityPermission.READ_ONLY); 199 } 200 201 @Nullable 202 public PersonalTitle getPersonalTitleForUpdate() { 203 return getPersonalTitle(EntityPermission.READ_WRITE); 204 } 205 206 public void setPersonalTitlePK(@Nullable PersonalTitlePK personalTitlePK) 207 throws PersistenceNotNullException, PersistenceReadOnlyException { 208 checkReadWrite(); 209 _value.setPersonalTitlePK(personalTitlePK); 210 } 211 212 public void setPersonalTitle(@Nullable PersonalTitle entity) { 213 setPersonalTitlePK(entity == null ? null : entity.getPrimaryKey()); 214 } 215 216 public boolean getPersonalTitlePKHasBeenModified() { 217 return _value.getPersonalTitlePKHasBeenModified(); 218 } 219 220 @Nullable 221 public String getFirstName() { 222 return _value.getFirstName(); 223 } 224 225 public void setFirstName(@Nullable String firstName) 226 throws PersistenceNotNullException, PersistenceReadOnlyException { 227 checkReadWrite(); 228 _value.setFirstName(firstName); 229 } 230 231 public boolean getFirstNameHasBeenModified() { 232 return _value.getFirstNameHasBeenModified(); 233 } 234 235 @Nullable 236 public String getFirstNameSdx() { 237 return _value.getFirstNameSdx(); 238 } 239 240 public void setFirstNameSdx(@Nullable String firstNameSdx) 241 throws PersistenceNotNullException, PersistenceReadOnlyException { 242 checkReadWrite(); 243 _value.setFirstNameSdx(firstNameSdx); 244 } 245 246 public boolean getFirstNameSdxHasBeenModified() { 247 return _value.getFirstNameSdxHasBeenModified(); 248 } 249 250 @Nullable 251 public String getMiddleName() { 252 return _value.getMiddleName(); 253 } 254 255 public void setMiddleName(@Nullable String middleName) 256 throws PersistenceNotNullException, PersistenceReadOnlyException { 257 checkReadWrite(); 258 _value.setMiddleName(middleName); 259 } 260 261 public boolean getMiddleNameHasBeenModified() { 262 return _value.getMiddleNameHasBeenModified(); 263 } 264 265 @Nullable 266 public String getMiddleNameSdx() { 267 return _value.getMiddleNameSdx(); 268 } 269 270 public void setMiddleNameSdx(@Nullable String middleNameSdx) 271 throws PersistenceNotNullException, PersistenceReadOnlyException { 272 checkReadWrite(); 273 _value.setMiddleNameSdx(middleNameSdx); 274 } 275 276 public boolean getMiddleNameSdxHasBeenModified() { 277 return _value.getMiddleNameSdxHasBeenModified(); 278 } 279 280 @Nullable 281 public String getLastName() { 282 return _value.getLastName(); 283 } 284 285 public void setLastName(@Nullable String lastName) 286 throws PersistenceNotNullException, PersistenceReadOnlyException { 287 checkReadWrite(); 288 _value.setLastName(lastName); 289 } 290 291 public boolean getLastNameHasBeenModified() { 292 return _value.getLastNameHasBeenModified(); 293 } 294 295 @Nullable 296 public String getLastNameSdx() { 297 return _value.getLastNameSdx(); 298 } 299 300 public void setLastNameSdx(@Nullable String lastNameSdx) 301 throws PersistenceNotNullException, PersistenceReadOnlyException { 302 checkReadWrite(); 303 _value.setLastNameSdx(lastNameSdx); 304 } 305 306 public boolean getLastNameSdxHasBeenModified() { 307 return _value.getLastNameSdxHasBeenModified(); 308 } 309 310 @Nullable 311 public NameSuffixPK getNameSuffixPK() { 312 return _value.getNameSuffixPK(); 313 } 314 315 @Nullable 316 public NameSuffix getNameSuffix(EntityPermission entityPermission) { 317 NameSuffixPK pk = getNameSuffixPK(); 318 NameSuffix entity = pk == null? null: NameSuffixFactory.getInstance().getEntityFromPK(entityPermission, pk); 319 320 return entity; 321 } 322 323 @Nullable 324 public NameSuffix getNameSuffix() { 325 return getNameSuffix(EntityPermission.READ_ONLY); 326 } 327 328 @Nullable 329 public NameSuffix getNameSuffixForUpdate() { 330 return getNameSuffix(EntityPermission.READ_WRITE); 331 } 332 333 public void setNameSuffixPK(@Nullable NameSuffixPK nameSuffixPK) 334 throws PersistenceNotNullException, PersistenceReadOnlyException { 335 checkReadWrite(); 336 _value.setNameSuffixPK(nameSuffixPK); 337 } 338 339 public void setNameSuffix(@Nullable NameSuffix entity) { 340 setNameSuffixPK(entity == null ? null : entity.getPrimaryKey()); 341 } 342 343 public boolean getNameSuffixPKHasBeenModified() { 344 return _value.getNameSuffixPKHasBeenModified(); 345 } 346 347 @Nonnull 348 public Long getFromTime() { 349 return _value.getFromTime(); 350 } 351 352 public void setFromTime(@Nonnull Long fromTime) 353 throws PersistenceNotNullException, PersistenceReadOnlyException { 354 checkReadWrite(); 355 _value.setFromTime(fromTime); 356 } 357 358 public boolean getFromTimeHasBeenModified() { 359 return _value.getFromTimeHasBeenModified(); 360 } 361 362 @Nonnull 363 public Long getThruTime() { 364 return _value.getThruTime(); 365 } 366 367 public void setThruTime(@Nonnull Long thruTime) 368 throws PersistenceNotNullException, PersistenceReadOnlyException { 369 checkReadWrite(); 370 _value.setThruTime(thruTime); 371 } 372 373 public boolean getThruTimeHasBeenModified() { 374 return _value.getThruTimeHasBeenModified(); 375 } 376 377}