001// -------------------------------------------------------------------------------- 002// Copyright 2002-2024 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 StringBuilder stringValue = new StringBuilder("{"); 153 154 stringValue.append("entityId=").append(getEntityId()); 155 156 stringValue.append(", eventGroupPK=").append(getEventGroupPK()); 157 stringValue.append(", eventTime=").append(getEventTime()); 158 stringValue.append(", eventTimeSequence=").append(getEventTimeSequence()); 159 stringValue.append(", entityInstancePK=").append(getEntityInstancePK()); 160 stringValue.append(", eventTypePK=").append(getEventTypePK()); 161 stringValue.append(", relatedEntityInstancePK=").append(getRelatedEntityInstancePK()); 162 stringValue.append(", relatedEventTypePK=").append(getRelatedEventTypePK()); 163 stringValue.append(", createdByPK=").append(getCreatedByPK()); 164 165 stringValue.append('}'); 166 167 _stringValue = stringValue.toString(); 168 } 169 return _stringValue; 170 } 171 172 @Override 173 public boolean equals(Object other) { 174 if(this == other) 175 return true; 176 177 if(!hasIdentity()) 178 return false; 179 180 if(other instanceof EventValue) { 181 EventValue that = (EventValue)other; 182 183 if(!that.hasIdentity()) 184 return false; 185 186 Long thisEntityId = getEntityId(); 187 Long thatEntityId = that.getEntityId(); 188 189 boolean objectsEqual = thisEntityId.equals(thatEntityId); 190 if(objectsEqual) 191 objectsEqual = objectsEqual && isIdentical(that); 192 193 return objectsEqual; 194 } else { 195 return false; 196 } 197 } 198 199 public boolean isIdentical(Object other) { 200 if(other instanceof EventValue) { 201 EventValue that = (EventValue)other; 202 boolean objectsEqual = true; 203 204 205 if(objectsEqual) { 206 EventGroupPK thisEventGroupPK = getEventGroupPK(); 207 EventGroupPK thatEventGroupPK = that.getEventGroupPK(); 208 209 if(thisEventGroupPK == null) { 210 objectsEqual = objectsEqual && (thatEventGroupPK == null); 211 } else { 212 objectsEqual = objectsEqual && thisEventGroupPK.equals(thatEventGroupPK); 213 } 214 } 215 216 if(objectsEqual) { 217 Long thisEventTime = getEventTime(); 218 Long thatEventTime = that.getEventTime(); 219 220 if(thisEventTime == null) { 221 objectsEqual = objectsEqual && (thatEventTime == null); 222 } else { 223 objectsEqual = objectsEqual && thisEventTime.equals(thatEventTime); 224 } 225 } 226 227 if(objectsEqual) { 228 Integer thisEventTimeSequence = getEventTimeSequence(); 229 Integer thatEventTimeSequence = that.getEventTimeSequence(); 230 231 if(thisEventTimeSequence == null) { 232 objectsEqual = objectsEqual && (thatEventTimeSequence == null); 233 } else { 234 objectsEqual = objectsEqual && thisEventTimeSequence.equals(thatEventTimeSequence); 235 } 236 } 237 238 if(objectsEqual) { 239 EntityInstancePK thisEntityInstancePK = getEntityInstancePK(); 240 EntityInstancePK thatEntityInstancePK = that.getEntityInstancePK(); 241 242 if(thisEntityInstancePK == null) { 243 objectsEqual = objectsEqual && (thatEntityInstancePK == null); 244 } else { 245 objectsEqual = objectsEqual && thisEntityInstancePK.equals(thatEntityInstancePK); 246 } 247 } 248 249 if(objectsEqual) { 250 EventTypePK thisEventTypePK = getEventTypePK(); 251 EventTypePK thatEventTypePK = that.getEventTypePK(); 252 253 if(thisEventTypePK == null) { 254 objectsEqual = objectsEqual && (thatEventTypePK == null); 255 } else { 256 objectsEqual = objectsEqual && thisEventTypePK.equals(thatEventTypePK); 257 } 258 } 259 260 if(objectsEqual) { 261 EntityInstancePK thisRelatedEntityInstancePK = getRelatedEntityInstancePK(); 262 EntityInstancePK thatRelatedEntityInstancePK = that.getRelatedEntityInstancePK(); 263 264 if(thisRelatedEntityInstancePK == null) { 265 objectsEqual = objectsEqual && (thatRelatedEntityInstancePK == null); 266 } else { 267 objectsEqual = objectsEqual && thisRelatedEntityInstancePK.equals(thatRelatedEntityInstancePK); 268 } 269 } 270 271 if(objectsEqual) { 272 EventTypePK thisRelatedEventTypePK = getRelatedEventTypePK(); 273 EventTypePK thatRelatedEventTypePK = that.getRelatedEventTypePK(); 274 275 if(thisRelatedEventTypePK == null) { 276 objectsEqual = objectsEqual && (thatRelatedEventTypePK == null); 277 } else { 278 objectsEqual = objectsEqual && thisRelatedEventTypePK.equals(thatRelatedEventTypePK); 279 } 280 } 281 282 if(objectsEqual) { 283 EntityInstancePK thisCreatedByPK = getCreatedByPK(); 284 EntityInstancePK thatCreatedByPK = that.getCreatedByPK(); 285 286 if(thisCreatedByPK == null) { 287 objectsEqual = objectsEqual && (thatCreatedByPK == null); 288 } else { 289 objectsEqual = objectsEqual && thisCreatedByPK.equals(thatCreatedByPK); 290 } 291 } 292 293 return objectsEqual; 294 } else { 295 return false; 296 } 297 } 298 299 @Override 300 public boolean hasBeenModified() { 301 return eventGroupPKHasBeenModified || eventTimeHasBeenModified || eventTimeSequenceHasBeenModified || entityInstancePKHasBeenModified || eventTypePKHasBeenModified || relatedEntityInstancePKHasBeenModified || relatedEventTypePKHasBeenModified || createdByPKHasBeenModified; 302 } 303 304 @Override 305 public void clearHasBeenModified() { 306 eventGroupPKHasBeenModified = false; 307 eventTimeHasBeenModified = false; 308 eventTimeSequenceHasBeenModified = false; 309 entityInstancePKHasBeenModified = false; 310 eventTypePKHasBeenModified = false; 311 relatedEntityInstancePKHasBeenModified = false; 312 relatedEventTypePKHasBeenModified = false; 313 createdByPKHasBeenModified = false; 314 } 315 316 public EventGroupPK getEventGroupPK() { 317 return eventGroupPK; 318 } 319 320 public void setEventGroupPK(EventGroupPK eventGroupPK) { 321 boolean update = true; 322 323 if(this.eventGroupPK != null) { 324 if(this.eventGroupPK.equals(eventGroupPK)) { 325 update = false; 326 } 327 } else if(eventGroupPK == null) { 328 update = false; 329 } 330 331 if(update) { 332 this.eventGroupPK = eventGroupPK; 333 eventGroupPKHasBeenModified = true; 334 clearHashAndString(); 335 } 336 } 337 338 public boolean getEventGroupPKHasBeenModified() { 339 return eventGroupPKHasBeenModified; 340 } 341 342 public Long getEventTime() { 343 return eventTime; 344 } 345 346 public void setEventTime(Long eventTime) 347 throws PersistenceNotNullException { 348 checkForNull(eventTime); 349 350 boolean update = true; 351 352 if(this.eventTime != null) { 353 if(this.eventTime.equals(eventTime)) { 354 update = false; 355 } 356 } else if(eventTime == null) { 357 update = false; 358 } 359 360 if(update) { 361 this.eventTime = eventTime; 362 eventTimeHasBeenModified = true; 363 clearHashAndString(); 364 } 365 } 366 367 public boolean getEventTimeHasBeenModified() { 368 return eventTimeHasBeenModified; 369 } 370 371 public Integer getEventTimeSequence() { 372 return eventTimeSequence; 373 } 374 375 public void setEventTimeSequence(Integer eventTimeSequence) 376 throws PersistenceNotNullException { 377 checkForNull(eventTimeSequence); 378 379 boolean update = true; 380 381 if(this.eventTimeSequence != null) { 382 if(this.eventTimeSequence.equals(eventTimeSequence)) { 383 update = false; 384 } 385 } else if(eventTimeSequence == null) { 386 update = false; 387 } 388 389 if(update) { 390 this.eventTimeSequence = eventTimeSequence; 391 eventTimeSequenceHasBeenModified = true; 392 clearHashAndString(); 393 } 394 } 395 396 public boolean getEventTimeSequenceHasBeenModified() { 397 return eventTimeSequenceHasBeenModified; 398 } 399 400 public EntityInstancePK getEntityInstancePK() { 401 return entityInstancePK; 402 } 403 404 public void setEntityInstancePK(EntityInstancePK entityInstancePK) 405 throws PersistenceNotNullException { 406 checkForNull(entityInstancePK); 407 408 boolean update = true; 409 410 if(this.entityInstancePK != null) { 411 if(this.entityInstancePK.equals(entityInstancePK)) { 412 update = false; 413 } 414 } else if(entityInstancePK == null) { 415 update = false; 416 } 417 418 if(update) { 419 this.entityInstancePK = entityInstancePK; 420 entityInstancePKHasBeenModified = true; 421 clearHashAndString(); 422 } 423 } 424 425 public boolean getEntityInstancePKHasBeenModified() { 426 return entityInstancePKHasBeenModified; 427 } 428 429 public EventTypePK getEventTypePK() { 430 return eventTypePK; 431 } 432 433 public void setEventTypePK(EventTypePK eventTypePK) 434 throws PersistenceNotNullException { 435 checkForNull(eventTypePK); 436 437 boolean update = true; 438 439 if(this.eventTypePK != null) { 440 if(this.eventTypePK.equals(eventTypePK)) { 441 update = false; 442 } 443 } else if(eventTypePK == null) { 444 update = false; 445 } 446 447 if(update) { 448 this.eventTypePK = eventTypePK; 449 eventTypePKHasBeenModified = true; 450 clearHashAndString(); 451 } 452 } 453 454 public boolean getEventTypePKHasBeenModified() { 455 return eventTypePKHasBeenModified; 456 } 457 458 public EntityInstancePK getRelatedEntityInstancePK() { 459 return relatedEntityInstancePK; 460 } 461 462 public void setRelatedEntityInstancePK(EntityInstancePK relatedEntityInstancePK) { 463 boolean update = true; 464 465 if(this.relatedEntityInstancePK != null) { 466 if(this.relatedEntityInstancePK.equals(relatedEntityInstancePK)) { 467 update = false; 468 } 469 } else if(relatedEntityInstancePK == null) { 470 update = false; 471 } 472 473 if(update) { 474 this.relatedEntityInstancePK = relatedEntityInstancePK; 475 relatedEntityInstancePKHasBeenModified = true; 476 clearHashAndString(); 477 } 478 } 479 480 public boolean getRelatedEntityInstancePKHasBeenModified() { 481 return relatedEntityInstancePKHasBeenModified; 482 } 483 484 public EventTypePK getRelatedEventTypePK() { 485 return relatedEventTypePK; 486 } 487 488 public void setRelatedEventTypePK(EventTypePK relatedEventTypePK) { 489 boolean update = true; 490 491 if(this.relatedEventTypePK != null) { 492 if(this.relatedEventTypePK.equals(relatedEventTypePK)) { 493 update = false; 494 } 495 } else if(relatedEventTypePK == null) { 496 update = false; 497 } 498 499 if(update) { 500 this.relatedEventTypePK = relatedEventTypePK; 501 relatedEventTypePKHasBeenModified = true; 502 clearHashAndString(); 503 } 504 } 505 506 public boolean getRelatedEventTypePKHasBeenModified() { 507 return relatedEventTypePKHasBeenModified; 508 } 509 510 public EntityInstancePK getCreatedByPK() { 511 return createdByPK; 512 } 513 514 public void setCreatedByPK(EntityInstancePK createdByPK) { 515 boolean update = true; 516 517 if(this.createdByPK != null) { 518 if(this.createdByPK.equals(createdByPK)) { 519 update = false; 520 } 521 } else if(createdByPK == null) { 522 update = false; 523 } 524 525 if(update) { 526 this.createdByPK = createdByPK; 527 createdByPKHasBeenModified = true; 528 clearHashAndString(); 529 } 530 } 531 532 public boolean getCreatedByPKHasBeenModified() { 533 return createdByPKHasBeenModified; 534 } 535 536}