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 * UserVisitValue.java 021 */ 022 023package com.echothree.model.data.user.server.value; 024 025import com.echothree.model.data.user.common.pk.UserVisitPK; 026 027import com.echothree.model.data.user.server.factory.UserVisitFactory; 028 029import com.echothree.model.data.user.common.pk.UserVisitGroupPK; 030import com.echothree.model.data.user.common.pk.UserKeyPK; 031import com.echothree.model.data.party.common.pk.LanguagePK; 032import com.echothree.model.data.accounting.common.pk.CurrencyPK; 033import com.echothree.model.data.party.common.pk.TimeZonePK; 034import com.echothree.model.data.party.common.pk.DateTimeFormatPK; 035import com.echothree.model.data.offer.common.pk.OfferUsePK; 036import com.echothree.model.data.associate.common.pk.AssociateReferralPK; 037 038import com.echothree.util.common.exception.PersistenceCloneException; 039import com.echothree.util.common.exception.PersistenceNotNullException; 040 041import com.echothree.util.server.persistence.BaseValue; 042 043import java.io.Serializable; 044 045import javax.annotation.Nonnull; 046import javax.annotation.Nullable; 047 048public class UserVisitValue 049 extends BaseValue<UserVisitPK> 050 implements Cloneable, Serializable { 051 052 private UserVisitGroupPK userVisitGroupPK; 053 private boolean userVisitGroupPKHasBeenModified = false; 054 private UserKeyPK userKeyPK; 055 private boolean userKeyPKHasBeenModified = false; 056 private LanguagePK preferredLanguagePK; 057 private boolean preferredLanguagePKHasBeenModified = false; 058 private CurrencyPK preferredCurrencyPK; 059 private boolean preferredCurrencyPKHasBeenModified = false; 060 private TimeZonePK preferredTimeZonePK; 061 private boolean preferredTimeZonePKHasBeenModified = false; 062 private DateTimeFormatPK preferredDateTimeFormatPK; 063 private boolean preferredDateTimeFormatPKHasBeenModified = false; 064 private Long lastCommandTime; 065 private boolean lastCommandTimeHasBeenModified = false; 066 private OfferUsePK offerUsePK; 067 private boolean offerUsePKHasBeenModified = false; 068 private AssociateReferralPK associateReferralPK; 069 private boolean associateReferralPKHasBeenModified = false; 070 private Long retainUntilTime; 071 private boolean retainUntilTimeHasBeenModified = false; 072 private Long fromTime; 073 private boolean fromTimeHasBeenModified = false; 074 private Long thruTime; 075 private boolean thruTimeHasBeenModified = false; 076 077 private transient Integer _hashCode = null; 078 private transient String _stringValue = null; 079 080 private void constructFields(UserVisitGroupPK userVisitGroupPK, UserKeyPK userKeyPK, LanguagePK preferredLanguagePK, CurrencyPK preferredCurrencyPK, TimeZonePK preferredTimeZonePK, DateTimeFormatPK preferredDateTimeFormatPK, Long lastCommandTime, OfferUsePK offerUsePK, AssociateReferralPK associateReferralPK, Long retainUntilTime, Long fromTime, Long thruTime) 081 throws PersistenceNotNullException { 082 this.userVisitGroupPK = userVisitGroupPK; 083 this.userKeyPK = userKeyPK; 084 this.preferredLanguagePK = preferredLanguagePK; 085 this.preferredCurrencyPK = preferredCurrencyPK; 086 this.preferredTimeZonePK = preferredTimeZonePK; 087 this.preferredDateTimeFormatPK = preferredDateTimeFormatPK; 088 checkForNull(lastCommandTime); 089 this.lastCommandTime = lastCommandTime; 090 this.offerUsePK = offerUsePK; 091 this.associateReferralPK = associateReferralPK; 092 this.retainUntilTime = retainUntilTime; 093 checkForNull(fromTime); 094 this.fromTime = fromTime; 095 checkForNull(thruTime); 096 this.thruTime = thruTime; 097 } 098 099 /** Creates a new instance of UserVisitValue */ 100 public UserVisitValue(UserVisitPK userVisitPK, UserVisitGroupPK userVisitGroupPK, UserKeyPK userKeyPK, LanguagePK preferredLanguagePK, CurrencyPK preferredCurrencyPK, TimeZonePK preferredTimeZonePK, DateTimeFormatPK preferredDateTimeFormatPK, Long lastCommandTime, OfferUsePK offerUsePK, AssociateReferralPK associateReferralPK, Long retainUntilTime, Long fromTime, Long thruTime) 101 throws PersistenceNotNullException { 102 super(userVisitPK); 103 constructFields(userVisitGroupPK, userKeyPK, preferredLanguagePK, preferredCurrencyPK, preferredTimeZonePK, preferredDateTimeFormatPK, lastCommandTime, offerUsePK, associateReferralPK, retainUntilTime, fromTime, thruTime); 104 } 105 106 /** Creates a new instance of UserVisitValue */ 107 public UserVisitValue(UserVisitGroupPK userVisitGroupPK, UserKeyPK userKeyPK, LanguagePK preferredLanguagePK, CurrencyPK preferredCurrencyPK, TimeZonePK preferredTimeZonePK, DateTimeFormatPK preferredDateTimeFormatPK, Long lastCommandTime, OfferUsePK offerUsePK, AssociateReferralPK associateReferralPK, Long retainUntilTime, Long fromTime, Long thruTime) 108 throws PersistenceNotNullException { 109 super(); 110 constructFields(userVisitGroupPK, userKeyPK, preferredLanguagePK, preferredCurrencyPK, preferredTimeZonePK, preferredDateTimeFormatPK, lastCommandTime, offerUsePK, associateReferralPK, retainUntilTime, fromTime, thruTime); 111 } 112 113 @Override 114 @Nonnull 115 public UserVisitFactory getBaseFactoryInstance() { 116 return UserVisitFactory.getInstance(); 117 } 118 119 @Override 120 @Nonnull 121 public UserVisitValue clone() { 122 Object result; 123 124 try { 125 result = super.clone(); 126 } catch (CloneNotSupportedException cnse) { 127 // This shouldn't happen, fail when it does. 128 throw new PersistenceCloneException(cnse); 129 } 130 131 return (UserVisitValue)result; 132 } 133 134 @Override 135 @Nonnull 136 public UserVisitPK getPrimaryKey() { 137 if(_primaryKey == null) { 138 _primaryKey = new UserVisitPK(entityId); 139 } 140 141 return _primaryKey; 142 } 143 144 private void clearHashAndString() { 145 _hashCode = null; 146 _stringValue = null; 147 } 148 149 @Override 150 public int hashCode() { 151 if(_hashCode == null) { 152 int hashCode = 17; 153 154 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 155 156 hashCode = 37 * hashCode + ((userVisitGroupPK != null) ? userVisitGroupPK.hashCode() : 0); 157 hashCode = 37 * hashCode + ((userKeyPK != null) ? userKeyPK.hashCode() : 0); 158 hashCode = 37 * hashCode + ((preferredLanguagePK != null) ? preferredLanguagePK.hashCode() : 0); 159 hashCode = 37 * hashCode + ((preferredCurrencyPK != null) ? preferredCurrencyPK.hashCode() : 0); 160 hashCode = 37 * hashCode + ((preferredTimeZonePK != null) ? preferredTimeZonePK.hashCode() : 0); 161 hashCode = 37 * hashCode + ((preferredDateTimeFormatPK != null) ? preferredDateTimeFormatPK.hashCode() : 0); 162 hashCode = 37 * hashCode + ((lastCommandTime != null) ? lastCommandTime.hashCode() : 0); 163 hashCode = 37 * hashCode + ((offerUsePK != null) ? offerUsePK.hashCode() : 0); 164 hashCode = 37 * hashCode + ((associateReferralPK != null) ? associateReferralPK.hashCode() : 0); 165 hashCode = 37 * hashCode + ((retainUntilTime != null) ? retainUntilTime.hashCode() : 0); 166 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 167 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 168 169 _hashCode = hashCode; 170 } 171 172 return _hashCode; 173 } 174 175 @Override 176 @Nonnull 177 public String toString() { 178 if(_stringValue == null) { 179 _stringValue = "{" + 180 "entityId=" + getEntityId() + 181 ", userVisitGroupPK=" + getUserVisitGroupPK() + 182 ", userKeyPK=" + getUserKeyPK() + 183 ", preferredLanguagePK=" + getPreferredLanguagePK() + 184 ", preferredCurrencyPK=" + getPreferredCurrencyPK() + 185 ", preferredTimeZonePK=" + getPreferredTimeZonePK() + 186 ", preferredDateTimeFormatPK=" + getPreferredDateTimeFormatPK() + 187 ", lastCommandTime=" + getLastCommandTime() + 188 ", offerUsePK=" + getOfferUsePK() + 189 ", associateReferralPK=" + getAssociateReferralPK() + 190 ", retainUntilTime=" + getRetainUntilTime() + 191 ", fromTime=" + getFromTime() + 192 ", thruTime=" + getThruTime() + 193 "}"; 194 } 195 return _stringValue; 196 } 197 198 @Override 199 public boolean equals(Object other) { 200 if(this == other) 201 return true; 202 203 if(!hasIdentity()) 204 return false; 205 206 if(other instanceof UserVisitValue that) { 207 if(!that.hasIdentity()) 208 return false; 209 210 Long thisEntityId = getEntityId(); 211 Long thatEntityId = that.getEntityId(); 212 213 boolean objectsEqual = thisEntityId.equals(thatEntityId); 214 if(objectsEqual) 215 objectsEqual = isIdentical(that); 216 217 return objectsEqual; 218 } else { 219 return false; 220 } 221 } 222 223 public boolean isIdentical(Object other) { 224 if(other instanceof UserVisitValue that) { 225 boolean objectsEqual = true; 226 227 228 if(objectsEqual) { 229 UserVisitGroupPK thisUserVisitGroupPK = getUserVisitGroupPK(); 230 UserVisitGroupPK thatUserVisitGroupPK = that.getUserVisitGroupPK(); 231 232 if(thisUserVisitGroupPK == null) { 233 objectsEqual = objectsEqual && (thatUserVisitGroupPK == null); 234 } else { 235 objectsEqual = objectsEqual && thisUserVisitGroupPK.equals(thatUserVisitGroupPK); 236 } 237 } 238 239 if(objectsEqual) { 240 UserKeyPK thisUserKeyPK = getUserKeyPK(); 241 UserKeyPK thatUserKeyPK = that.getUserKeyPK(); 242 243 if(thisUserKeyPK == null) { 244 objectsEqual = objectsEqual && (thatUserKeyPK == null); 245 } else { 246 objectsEqual = objectsEqual && thisUserKeyPK.equals(thatUserKeyPK); 247 } 248 } 249 250 if(objectsEqual) { 251 LanguagePK thisPreferredLanguagePK = getPreferredLanguagePK(); 252 LanguagePK thatPreferredLanguagePK = that.getPreferredLanguagePK(); 253 254 if(thisPreferredLanguagePK == null) { 255 objectsEqual = objectsEqual && (thatPreferredLanguagePK == null); 256 } else { 257 objectsEqual = objectsEqual && thisPreferredLanguagePK.equals(thatPreferredLanguagePK); 258 } 259 } 260 261 if(objectsEqual) { 262 CurrencyPK thisPreferredCurrencyPK = getPreferredCurrencyPK(); 263 CurrencyPK thatPreferredCurrencyPK = that.getPreferredCurrencyPK(); 264 265 if(thisPreferredCurrencyPK == null) { 266 objectsEqual = objectsEqual && (thatPreferredCurrencyPK == null); 267 } else { 268 objectsEqual = objectsEqual && thisPreferredCurrencyPK.equals(thatPreferredCurrencyPK); 269 } 270 } 271 272 if(objectsEqual) { 273 TimeZonePK thisPreferredTimeZonePK = getPreferredTimeZonePK(); 274 TimeZonePK thatPreferredTimeZonePK = that.getPreferredTimeZonePK(); 275 276 if(thisPreferredTimeZonePK == null) { 277 objectsEqual = objectsEqual && (thatPreferredTimeZonePK == null); 278 } else { 279 objectsEqual = objectsEqual && thisPreferredTimeZonePK.equals(thatPreferredTimeZonePK); 280 } 281 } 282 283 if(objectsEqual) { 284 DateTimeFormatPK thisPreferredDateTimeFormatPK = getPreferredDateTimeFormatPK(); 285 DateTimeFormatPK thatPreferredDateTimeFormatPK = that.getPreferredDateTimeFormatPK(); 286 287 if(thisPreferredDateTimeFormatPK == null) { 288 objectsEqual = objectsEqual && (thatPreferredDateTimeFormatPK == null); 289 } else { 290 objectsEqual = objectsEqual && thisPreferredDateTimeFormatPK.equals(thatPreferredDateTimeFormatPK); 291 } 292 } 293 294 if(objectsEqual) { 295 Long thisLastCommandTime = getLastCommandTime(); 296 Long thatLastCommandTime = that.getLastCommandTime(); 297 298 if(thisLastCommandTime == null) { 299 objectsEqual = objectsEqual && (thatLastCommandTime == null); 300 } else { 301 objectsEqual = objectsEqual && thisLastCommandTime.equals(thatLastCommandTime); 302 } 303 } 304 305 if(objectsEqual) { 306 OfferUsePK thisOfferUsePK = getOfferUsePK(); 307 OfferUsePK thatOfferUsePK = that.getOfferUsePK(); 308 309 if(thisOfferUsePK == null) { 310 objectsEqual = objectsEqual && (thatOfferUsePK == null); 311 } else { 312 objectsEqual = objectsEqual && thisOfferUsePK.equals(thatOfferUsePK); 313 } 314 } 315 316 if(objectsEqual) { 317 AssociateReferralPK thisAssociateReferralPK = getAssociateReferralPK(); 318 AssociateReferralPK thatAssociateReferralPK = that.getAssociateReferralPK(); 319 320 if(thisAssociateReferralPK == null) { 321 objectsEqual = objectsEqual && (thatAssociateReferralPK == null); 322 } else { 323 objectsEqual = objectsEqual && thisAssociateReferralPK.equals(thatAssociateReferralPK); 324 } 325 } 326 327 if(objectsEqual) { 328 Long thisRetainUntilTime = getRetainUntilTime(); 329 Long thatRetainUntilTime = that.getRetainUntilTime(); 330 331 if(thisRetainUntilTime == null) { 332 objectsEqual = objectsEqual && (thatRetainUntilTime == null); 333 } else { 334 objectsEqual = objectsEqual && thisRetainUntilTime.equals(thatRetainUntilTime); 335 } 336 } 337 338 if(objectsEqual) { 339 Long thisFromTime = getFromTime(); 340 Long thatFromTime = that.getFromTime(); 341 342 if(thisFromTime == null) { 343 objectsEqual = objectsEqual && (thatFromTime == null); 344 } else { 345 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 346 } 347 } 348 349 if(objectsEqual) { 350 Long thisThruTime = getThruTime(); 351 Long thatThruTime = that.getThruTime(); 352 353 if(thisThruTime == null) { 354 objectsEqual = objectsEqual && (thatThruTime == null); 355 } else { 356 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 357 } 358 } 359 360 return objectsEqual; 361 } else { 362 return false; 363 } 364 } 365 366 @Override 367 public boolean hasBeenModified() { 368 return userVisitGroupPKHasBeenModified || userKeyPKHasBeenModified || preferredLanguagePKHasBeenModified || preferredCurrencyPKHasBeenModified || preferredTimeZonePKHasBeenModified || preferredDateTimeFormatPKHasBeenModified || lastCommandTimeHasBeenModified || offerUsePKHasBeenModified || associateReferralPKHasBeenModified || retainUntilTimeHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 369 } 370 371 @Override 372 public void clearHasBeenModified() { 373 userVisitGroupPKHasBeenModified = false; 374 userKeyPKHasBeenModified = false; 375 preferredLanguagePKHasBeenModified = false; 376 preferredCurrencyPKHasBeenModified = false; 377 preferredTimeZonePKHasBeenModified = false; 378 preferredDateTimeFormatPKHasBeenModified = false; 379 lastCommandTimeHasBeenModified = false; 380 offerUsePKHasBeenModified = false; 381 associateReferralPKHasBeenModified = false; 382 retainUntilTimeHasBeenModified = false; 383 fromTimeHasBeenModified = false; 384 thruTimeHasBeenModified = false; 385 } 386 387 @Nullable 388 public UserVisitGroupPK getUserVisitGroupPK() { 389 return userVisitGroupPK; 390 } 391 392 public void setUserVisitGroupPK(@Nullable UserVisitGroupPK userVisitGroupPK) { 393 boolean update = true; 394 395 if(this.userVisitGroupPK != null) { 396 if(this.userVisitGroupPK.equals(userVisitGroupPK)) { 397 update = false; 398 } 399 } else if(userVisitGroupPK == null) { 400 update = false; 401 } 402 403 if(update) { 404 this.userVisitGroupPK = userVisitGroupPK; 405 userVisitGroupPKHasBeenModified = true; 406 clearHashAndString(); 407 } 408 } 409 410 public boolean getUserVisitGroupPKHasBeenModified() { 411 return userVisitGroupPKHasBeenModified; 412 } 413 414 @Nullable 415 public UserKeyPK getUserKeyPK() { 416 return userKeyPK; 417 } 418 419 public void setUserKeyPK(@Nullable UserKeyPK userKeyPK) { 420 boolean update = true; 421 422 if(this.userKeyPK != null) { 423 if(this.userKeyPK.equals(userKeyPK)) { 424 update = false; 425 } 426 } else if(userKeyPK == null) { 427 update = false; 428 } 429 430 if(update) { 431 this.userKeyPK = userKeyPK; 432 userKeyPKHasBeenModified = true; 433 clearHashAndString(); 434 } 435 } 436 437 public boolean getUserKeyPKHasBeenModified() { 438 return userKeyPKHasBeenModified; 439 } 440 441 @Nullable 442 public LanguagePK getPreferredLanguagePK() { 443 return preferredLanguagePK; 444 } 445 446 public void setPreferredLanguagePK(@Nullable LanguagePK preferredLanguagePK) { 447 boolean update = true; 448 449 if(this.preferredLanguagePK != null) { 450 if(this.preferredLanguagePK.equals(preferredLanguagePK)) { 451 update = false; 452 } 453 } else if(preferredLanguagePK == null) { 454 update = false; 455 } 456 457 if(update) { 458 this.preferredLanguagePK = preferredLanguagePK; 459 preferredLanguagePKHasBeenModified = true; 460 clearHashAndString(); 461 } 462 } 463 464 public boolean getPreferredLanguagePKHasBeenModified() { 465 return preferredLanguagePKHasBeenModified; 466 } 467 468 @Nullable 469 public CurrencyPK getPreferredCurrencyPK() { 470 return preferredCurrencyPK; 471 } 472 473 public void setPreferredCurrencyPK(@Nullable CurrencyPK preferredCurrencyPK) { 474 boolean update = true; 475 476 if(this.preferredCurrencyPK != null) { 477 if(this.preferredCurrencyPK.equals(preferredCurrencyPK)) { 478 update = false; 479 } 480 } else if(preferredCurrencyPK == null) { 481 update = false; 482 } 483 484 if(update) { 485 this.preferredCurrencyPK = preferredCurrencyPK; 486 preferredCurrencyPKHasBeenModified = true; 487 clearHashAndString(); 488 } 489 } 490 491 public boolean getPreferredCurrencyPKHasBeenModified() { 492 return preferredCurrencyPKHasBeenModified; 493 } 494 495 @Nullable 496 public TimeZonePK getPreferredTimeZonePK() { 497 return preferredTimeZonePK; 498 } 499 500 public void setPreferredTimeZonePK(@Nullable TimeZonePK preferredTimeZonePK) { 501 boolean update = true; 502 503 if(this.preferredTimeZonePK != null) { 504 if(this.preferredTimeZonePK.equals(preferredTimeZonePK)) { 505 update = false; 506 } 507 } else if(preferredTimeZonePK == null) { 508 update = false; 509 } 510 511 if(update) { 512 this.preferredTimeZonePK = preferredTimeZonePK; 513 preferredTimeZonePKHasBeenModified = true; 514 clearHashAndString(); 515 } 516 } 517 518 public boolean getPreferredTimeZonePKHasBeenModified() { 519 return preferredTimeZonePKHasBeenModified; 520 } 521 522 @Nullable 523 public DateTimeFormatPK getPreferredDateTimeFormatPK() { 524 return preferredDateTimeFormatPK; 525 } 526 527 public void setPreferredDateTimeFormatPK(@Nullable DateTimeFormatPK preferredDateTimeFormatPK) { 528 boolean update = true; 529 530 if(this.preferredDateTimeFormatPK != null) { 531 if(this.preferredDateTimeFormatPK.equals(preferredDateTimeFormatPK)) { 532 update = false; 533 } 534 } else if(preferredDateTimeFormatPK == null) { 535 update = false; 536 } 537 538 if(update) { 539 this.preferredDateTimeFormatPK = preferredDateTimeFormatPK; 540 preferredDateTimeFormatPKHasBeenModified = true; 541 clearHashAndString(); 542 } 543 } 544 545 public boolean getPreferredDateTimeFormatPKHasBeenModified() { 546 return preferredDateTimeFormatPKHasBeenModified; 547 } 548 549 @Nonnull 550 public Long getLastCommandTime() { 551 return lastCommandTime; 552 } 553 554 public void setLastCommandTime(@Nonnull Long lastCommandTime) 555 throws PersistenceNotNullException { 556 checkForNull(lastCommandTime); 557 558 boolean update = true; 559 560 if(this.lastCommandTime != null) { 561 if(this.lastCommandTime.equals(lastCommandTime)) { 562 update = false; 563 } 564 } else if(lastCommandTime == null) { 565 update = false; 566 } 567 568 if(update) { 569 this.lastCommandTime = lastCommandTime; 570 lastCommandTimeHasBeenModified = true; 571 clearHashAndString(); 572 } 573 } 574 575 public boolean getLastCommandTimeHasBeenModified() { 576 return lastCommandTimeHasBeenModified; 577 } 578 579 @Nullable 580 public OfferUsePK getOfferUsePK() { 581 return offerUsePK; 582 } 583 584 public void setOfferUsePK(@Nullable OfferUsePK offerUsePK) { 585 boolean update = true; 586 587 if(this.offerUsePK != null) { 588 if(this.offerUsePK.equals(offerUsePK)) { 589 update = false; 590 } 591 } else if(offerUsePK == null) { 592 update = false; 593 } 594 595 if(update) { 596 this.offerUsePK = offerUsePK; 597 offerUsePKHasBeenModified = true; 598 clearHashAndString(); 599 } 600 } 601 602 public boolean getOfferUsePKHasBeenModified() { 603 return offerUsePKHasBeenModified; 604 } 605 606 @Nullable 607 public AssociateReferralPK getAssociateReferralPK() { 608 return associateReferralPK; 609 } 610 611 public void setAssociateReferralPK(@Nullable AssociateReferralPK associateReferralPK) { 612 boolean update = true; 613 614 if(this.associateReferralPK != null) { 615 if(this.associateReferralPK.equals(associateReferralPK)) { 616 update = false; 617 } 618 } else if(associateReferralPK == null) { 619 update = false; 620 } 621 622 if(update) { 623 this.associateReferralPK = associateReferralPK; 624 associateReferralPKHasBeenModified = true; 625 clearHashAndString(); 626 } 627 } 628 629 public boolean getAssociateReferralPKHasBeenModified() { 630 return associateReferralPKHasBeenModified; 631 } 632 633 @Nullable 634 public Long getRetainUntilTime() { 635 return retainUntilTime; 636 } 637 638 public void setRetainUntilTime(@Nullable Long retainUntilTime) { 639 boolean update = true; 640 641 if(this.retainUntilTime != null) { 642 if(this.retainUntilTime.equals(retainUntilTime)) { 643 update = false; 644 } 645 } else if(retainUntilTime == null) { 646 update = false; 647 } 648 649 if(update) { 650 this.retainUntilTime = retainUntilTime; 651 retainUntilTimeHasBeenModified = true; 652 clearHashAndString(); 653 } 654 } 655 656 public boolean getRetainUntilTimeHasBeenModified() { 657 return retainUntilTimeHasBeenModified; 658 } 659 660 @Nonnull 661 public Long getFromTime() { 662 return fromTime; 663 } 664 665 public void setFromTime(@Nonnull Long fromTime) 666 throws PersistenceNotNullException { 667 checkForNull(fromTime); 668 669 boolean update = true; 670 671 if(this.fromTime != null) { 672 if(this.fromTime.equals(fromTime)) { 673 update = false; 674 } 675 } else if(fromTime == null) { 676 update = false; 677 } 678 679 if(update) { 680 this.fromTime = fromTime; 681 fromTimeHasBeenModified = true; 682 clearHashAndString(); 683 } 684 } 685 686 public boolean getFromTimeHasBeenModified() { 687 return fromTimeHasBeenModified; 688 } 689 690 @Nonnull 691 public Long getThruTime() { 692 return thruTime; 693 } 694 695 public void setThruTime(@Nonnull Long thruTime) 696 throws PersistenceNotNullException { 697 checkForNull(thruTime); 698 699 boolean update = true; 700 701 if(this.thruTime != null) { 702 if(this.thruTime.equals(thruTime)) { 703 update = false; 704 } 705 } else if(thruTime == null) { 706 update = false; 707 } 708 709 if(update) { 710 this.thruTime = thruTime; 711 thruTimeHasBeenModified = true; 712 clearHashAndString(); 713 } 714 } 715 716 public boolean getThruTimeHasBeenModified() { 717 return thruTimeHasBeenModified; 718 } 719 720}