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