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 * EntityClobAttributeValue.java 021 */ 022 023package com.echothree.model.data.core.server.value; 024 025import com.echothree.model.data.core.common.pk.EntityClobAttributePK; 026 027import com.echothree.model.data.core.server.factory.EntityClobAttributeFactory; 028 029import com.echothree.model.data.core.common.pk.EntityAttributePK; 030import com.echothree.model.data.core.common.pk.EntityInstancePK; 031import com.echothree.model.data.party.common.pk.LanguagePK; 032import com.echothree.model.data.core.common.pk.MimeTypePK; 033 034import com.echothree.util.common.exception.PersistenceCloneException; 035import com.echothree.util.common.exception.PersistenceNotNullException; 036 037import com.echothree.util.server.persistence.BaseValue; 038 039import java.io.Serializable; 040 041import javax.annotation.Nonnull; 042import javax.annotation.Nullable; 043 044public class EntityClobAttributeValue 045 extends BaseValue<EntityClobAttributePK> 046 implements Cloneable, Serializable { 047 048 private EntityAttributePK entityAttributePK; 049 private boolean entityAttributePKHasBeenModified = false; 050 private EntityInstancePK entityInstancePK; 051 private boolean entityInstancePKHasBeenModified = false; 052 private LanguagePK languagePK; 053 private boolean languagePKHasBeenModified = false; 054 private String clobAttribute; 055 private boolean clobAttributeHasBeenModified = false; 056 private MimeTypePK mimeTypePK; 057 private boolean mimeTypePKHasBeenModified = false; 058 private Long fromTime; 059 private boolean fromTimeHasBeenModified = false; 060 private Long thruTime; 061 private boolean thruTimeHasBeenModified = false; 062 063 private transient Integer _hashCode = null; 064 private transient String _stringValue = null; 065 066 private void constructFields(EntityAttributePK entityAttributePK, EntityInstancePK entityInstancePK, LanguagePK languagePK, String clobAttribute, MimeTypePK mimeTypePK, Long fromTime, Long thruTime) 067 throws PersistenceNotNullException { 068 checkForNull(entityAttributePK); 069 this.entityAttributePK = entityAttributePK; 070 checkForNull(entityInstancePK); 071 this.entityInstancePK = entityInstancePK; 072 checkForNull(languagePK); 073 this.languagePK = languagePK; 074 checkForNull(clobAttribute); 075 this.clobAttribute = clobAttribute; 076 checkForNull(mimeTypePK); 077 this.mimeTypePK = mimeTypePK; 078 checkForNull(fromTime); 079 this.fromTime = fromTime; 080 checkForNull(thruTime); 081 this.thruTime = thruTime; 082 } 083 084 /** Creates a new instance of EntityClobAttributeValue */ 085 public EntityClobAttributeValue(EntityClobAttributePK entityClobAttributePK, EntityAttributePK entityAttributePK, EntityInstancePK entityInstancePK, LanguagePK languagePK, String clobAttribute, MimeTypePK mimeTypePK, Long fromTime, Long thruTime) 086 throws PersistenceNotNullException { 087 super(entityClobAttributePK); 088 constructFields(entityAttributePK, entityInstancePK, languagePK, clobAttribute, mimeTypePK, fromTime, thruTime); 089 } 090 091 /** Creates a new instance of EntityClobAttributeValue */ 092 public EntityClobAttributeValue(EntityAttributePK entityAttributePK, EntityInstancePK entityInstancePK, LanguagePK languagePK, String clobAttribute, MimeTypePK mimeTypePK, Long fromTime, Long thruTime) 093 throws PersistenceNotNullException { 094 super(); 095 constructFields(entityAttributePK, entityInstancePK, languagePK, clobAttribute, mimeTypePK, fromTime, thruTime); 096 } 097 098 @Override 099 @Nonnull 100 public EntityClobAttributeFactory getBaseFactoryInstance() { 101 return EntityClobAttributeFactory.getInstance(); 102 } 103 104 @Override 105 @Nonnull 106 public EntityClobAttributeValue clone() { 107 Object result; 108 109 try { 110 result = super.clone(); 111 } catch (CloneNotSupportedException cnse) { 112 // This shouldn't happen, fail when it does. 113 throw new PersistenceCloneException(cnse); 114 } 115 116 return (EntityClobAttributeValue)result; 117 } 118 119 @Override 120 @Nonnull 121 public EntityClobAttributePK getPrimaryKey() { 122 if(_primaryKey == null) { 123 _primaryKey = new EntityClobAttributePK(entityId); 124 } 125 126 return _primaryKey; 127 } 128 129 private void clearHashAndString() { 130 _hashCode = null; 131 _stringValue = null; 132 } 133 134 @Override 135 public int hashCode() { 136 if(_hashCode == null) { 137 int hashCode = 17; 138 139 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 140 141 hashCode = 37 * hashCode + ((entityAttributePK != null) ? entityAttributePK.hashCode() : 0); 142 hashCode = 37 * hashCode + ((entityInstancePK != null) ? entityInstancePK.hashCode() : 0); 143 hashCode = 37 * hashCode + ((languagePK != null) ? languagePK.hashCode() : 0); 144 hashCode = 37 * hashCode + ((clobAttribute != null) ? clobAttribute.hashCode() : 0); 145 hashCode = 37 * hashCode + ((mimeTypePK != null) ? mimeTypePK.hashCode() : 0); 146 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 147 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 148 149 _hashCode = hashCode; 150 } 151 152 return _hashCode; 153 } 154 155 @Override 156 @Nonnull 157 public String toString() { 158 if(_stringValue == null) { 159 _stringValue = "{" + 160 "entityId=" + getEntityId() + 161 ", entityAttributePK=" + getEntityAttributePK() + 162 ", entityInstancePK=" + getEntityInstancePK() + 163 ", languagePK=" + getLanguagePK() + 164 ", clobAttribute=" + getClobAttribute() + 165 ", mimeTypePK=" + getMimeTypePK() + 166 ", fromTime=" + getFromTime() + 167 ", thruTime=" + getThruTime() + 168 "}"; 169 } 170 return _stringValue; 171 } 172 173 @Override 174 public boolean equals(Object other) { 175 if(this == other) 176 return true; 177 178 if(!hasIdentity()) 179 return false; 180 181 if(other instanceof EntityClobAttributeValue that) { 182 if(!that.hasIdentity()) 183 return false; 184 185 Long thisEntityId = getEntityId(); 186 Long thatEntityId = that.getEntityId(); 187 188 boolean objectsEqual = thisEntityId.equals(thatEntityId); 189 if(objectsEqual) 190 objectsEqual = isIdentical(that); 191 192 return objectsEqual; 193 } else { 194 return false; 195 } 196 } 197 198 public boolean isIdentical(Object other) { 199 if(other instanceof EntityClobAttributeValue that) { 200 boolean objectsEqual = true; 201 202 203 if(objectsEqual) { 204 EntityAttributePK thisEntityAttributePK = getEntityAttributePK(); 205 EntityAttributePK thatEntityAttributePK = that.getEntityAttributePK(); 206 207 if(thisEntityAttributePK == null) { 208 objectsEqual = objectsEqual && (thatEntityAttributePK == null); 209 } else { 210 objectsEqual = objectsEqual && thisEntityAttributePK.equals(thatEntityAttributePK); 211 } 212 } 213 214 if(objectsEqual) { 215 EntityInstancePK thisEntityInstancePK = getEntityInstancePK(); 216 EntityInstancePK thatEntityInstancePK = that.getEntityInstancePK(); 217 218 if(thisEntityInstancePK == null) { 219 objectsEqual = objectsEqual && (thatEntityInstancePK == null); 220 } else { 221 objectsEqual = objectsEqual && thisEntityInstancePK.equals(thatEntityInstancePK); 222 } 223 } 224 225 if(objectsEqual) { 226 LanguagePK thisLanguagePK = getLanguagePK(); 227 LanguagePK thatLanguagePK = that.getLanguagePK(); 228 229 if(thisLanguagePK == null) { 230 objectsEqual = objectsEqual && (thatLanguagePK == null); 231 } else { 232 objectsEqual = objectsEqual && thisLanguagePK.equals(thatLanguagePK); 233 } 234 } 235 236 if(objectsEqual) { 237 String thisClobAttribute = getClobAttribute(); 238 String thatClobAttribute = that.getClobAttribute(); 239 240 if(thisClobAttribute == null) { 241 objectsEqual = objectsEqual && (thatClobAttribute == null); 242 } else { 243 objectsEqual = objectsEqual && thisClobAttribute.equals(thatClobAttribute); 244 } 245 } 246 247 if(objectsEqual) { 248 MimeTypePK thisMimeTypePK = getMimeTypePK(); 249 MimeTypePK thatMimeTypePK = that.getMimeTypePK(); 250 251 if(thisMimeTypePK == null) { 252 objectsEqual = objectsEqual && (thatMimeTypePK == null); 253 } else { 254 objectsEqual = objectsEqual && thisMimeTypePK.equals(thatMimeTypePK); 255 } 256 } 257 258 if(objectsEqual) { 259 Long thisFromTime = getFromTime(); 260 Long thatFromTime = that.getFromTime(); 261 262 if(thisFromTime == null) { 263 objectsEqual = objectsEqual && (thatFromTime == null); 264 } else { 265 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 266 } 267 } 268 269 if(objectsEqual) { 270 Long thisThruTime = getThruTime(); 271 Long thatThruTime = that.getThruTime(); 272 273 if(thisThruTime == null) { 274 objectsEqual = objectsEqual && (thatThruTime == null); 275 } else { 276 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 277 } 278 } 279 280 return objectsEqual; 281 } else { 282 return false; 283 } 284 } 285 286 @Override 287 public boolean hasBeenModified() { 288 return entityAttributePKHasBeenModified || entityInstancePKHasBeenModified || languagePKHasBeenModified || clobAttributeHasBeenModified || mimeTypePKHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 289 } 290 291 @Override 292 public void clearHasBeenModified() { 293 entityAttributePKHasBeenModified = false; 294 entityInstancePKHasBeenModified = false; 295 languagePKHasBeenModified = false; 296 clobAttributeHasBeenModified = false; 297 mimeTypePKHasBeenModified = false; 298 fromTimeHasBeenModified = false; 299 thruTimeHasBeenModified = false; 300 } 301 302 @Nonnull 303 public EntityAttributePK getEntityAttributePK() { 304 return entityAttributePK; 305 } 306 307 public void setEntityAttributePK(@Nonnull EntityAttributePK entityAttributePK) 308 throws PersistenceNotNullException { 309 checkForNull(entityAttributePK); 310 311 boolean update = true; 312 313 if(this.entityAttributePK != null) { 314 if(this.entityAttributePK.equals(entityAttributePK)) { 315 update = false; 316 } 317 } else if(entityAttributePK == null) { 318 update = false; 319 } 320 321 if(update) { 322 this.entityAttributePK = entityAttributePK; 323 entityAttributePKHasBeenModified = true; 324 clearHashAndString(); 325 } 326 } 327 328 public boolean getEntityAttributePKHasBeenModified() { 329 return entityAttributePKHasBeenModified; 330 } 331 332 @Nonnull 333 public EntityInstancePK getEntityInstancePK() { 334 return entityInstancePK; 335 } 336 337 public void setEntityInstancePK(@Nonnull EntityInstancePK entityInstancePK) 338 throws PersistenceNotNullException { 339 checkForNull(entityInstancePK); 340 341 boolean update = true; 342 343 if(this.entityInstancePK != null) { 344 if(this.entityInstancePK.equals(entityInstancePK)) { 345 update = false; 346 } 347 } else if(entityInstancePK == null) { 348 update = false; 349 } 350 351 if(update) { 352 this.entityInstancePK = entityInstancePK; 353 entityInstancePKHasBeenModified = true; 354 clearHashAndString(); 355 } 356 } 357 358 public boolean getEntityInstancePKHasBeenModified() { 359 return entityInstancePKHasBeenModified; 360 } 361 362 @Nonnull 363 public LanguagePK getLanguagePK() { 364 return languagePK; 365 } 366 367 public void setLanguagePK(@Nonnull LanguagePK languagePK) 368 throws PersistenceNotNullException { 369 checkForNull(languagePK); 370 371 boolean update = true; 372 373 if(this.languagePK != null) { 374 if(this.languagePK.equals(languagePK)) { 375 update = false; 376 } 377 } else if(languagePK == null) { 378 update = false; 379 } 380 381 if(update) { 382 this.languagePK = languagePK; 383 languagePKHasBeenModified = true; 384 clearHashAndString(); 385 } 386 } 387 388 public boolean getLanguagePKHasBeenModified() { 389 return languagePKHasBeenModified; 390 } 391 392 @Nonnull 393 public String getClobAttribute() { 394 return clobAttribute; 395 } 396 397 public void setClobAttribute(@Nonnull String clobAttribute) 398 throws PersistenceNotNullException { 399 checkForNull(clobAttribute); 400 401 boolean update = true; 402 403 if(this.clobAttribute != null) { 404 if(this.clobAttribute.equals(clobAttribute)) { 405 update = false; 406 } 407 } else if(clobAttribute == null) { 408 update = false; 409 } 410 411 if(update) { 412 this.clobAttribute = clobAttribute; 413 clobAttributeHasBeenModified = true; 414 clearHashAndString(); 415 } 416 } 417 418 public boolean getClobAttributeHasBeenModified() { 419 return clobAttributeHasBeenModified; 420 } 421 422 @Nonnull 423 public MimeTypePK getMimeTypePK() { 424 return mimeTypePK; 425 } 426 427 public void setMimeTypePK(@Nonnull MimeTypePK mimeTypePK) 428 throws PersistenceNotNullException { 429 checkForNull(mimeTypePK); 430 431 boolean update = true; 432 433 if(this.mimeTypePK != null) { 434 if(this.mimeTypePK.equals(mimeTypePK)) { 435 update = false; 436 } 437 } else if(mimeTypePK == null) { 438 update = false; 439 } 440 441 if(update) { 442 this.mimeTypePK = mimeTypePK; 443 mimeTypePKHasBeenModified = true; 444 clearHashAndString(); 445 } 446 } 447 448 public boolean getMimeTypePKHasBeenModified() { 449 return mimeTypePKHasBeenModified; 450 } 451 452 @Nonnull 453 public Long getFromTime() { 454 return fromTime; 455 } 456 457 public void setFromTime(@Nonnull Long fromTime) 458 throws PersistenceNotNullException { 459 checkForNull(fromTime); 460 461 boolean update = true; 462 463 if(this.fromTime != null) { 464 if(this.fromTime.equals(fromTime)) { 465 update = false; 466 } 467 } else if(fromTime == null) { 468 update = false; 469 } 470 471 if(update) { 472 this.fromTime = fromTime; 473 fromTimeHasBeenModified = true; 474 clearHashAndString(); 475 } 476 } 477 478 public boolean getFromTimeHasBeenModified() { 479 return fromTimeHasBeenModified; 480 } 481 482 @Nonnull 483 public Long getThruTime() { 484 return thruTime; 485 } 486 487 public void setThruTime(@Nonnull Long thruTime) 488 throws PersistenceNotNullException { 489 checkForNull(thruTime); 490 491 boolean update = true; 492 493 if(this.thruTime != null) { 494 if(this.thruTime.equals(thruTime)) { 495 update = false; 496 } 497 } else if(thruTime == null) { 498 update = false; 499 } 500 501 if(update) { 502 this.thruTime = thruTime; 503 thruTimeHasBeenModified = true; 504 clearHashAndString(); 505 } 506 } 507 508 public boolean getThruTimeHasBeenModified() { 509 return thruTimeHasBeenModified; 510 } 511 512}