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 * TaxDetailValue.java 021 */ 022 023package com.echothree.model.data.tax.server.value; 024 025import com.echothree.model.data.tax.common.pk.TaxDetailPK; 026 027import com.echothree.model.data.tax.server.factory.TaxDetailFactory; 028 029import com.echothree.model.data.tax.common.pk.TaxPK; 030import com.echothree.model.data.contact.common.pk.ContactMechanismPurposePK; 031import com.echothree.model.data.accounting.common.pk.GlAccountPK; 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 TaxDetailValue 041 extends BaseValue<TaxDetailPK> 042 implements Cloneable, Serializable { 043 044 private TaxPK taxPK; 045 private boolean taxPKHasBeenModified = false; 046 private String taxName; 047 private boolean taxNameHasBeenModified = false; 048 private ContactMechanismPurposePK contactMechanismPurposePK; 049 private boolean contactMechanismPurposePKHasBeenModified = false; 050 private GlAccountPK glAccountPK; 051 private boolean glAccountPKHasBeenModified = false; 052 private Boolean includeShippingCharge; 053 private boolean includeShippingChargeHasBeenModified = false; 054 private Boolean includeProcessingCharge; 055 private boolean includeProcessingChargeHasBeenModified = false; 056 private Boolean includeInsuranceCharge; 057 private boolean includeInsuranceChargeHasBeenModified = false; 058 private Integer percent; 059 private boolean percentHasBeenModified = false; 060 private Boolean isDefault; 061 private boolean isDefaultHasBeenModified = false; 062 private Integer sortOrder; 063 private boolean sortOrderHasBeenModified = false; 064 private Long fromTime; 065 private boolean fromTimeHasBeenModified = false; 066 private Long thruTime; 067 private boolean thruTimeHasBeenModified = false; 068 069 private transient Integer _hashCode = null; 070 private transient String _stringValue = null; 071 072 private void constructFields(TaxPK taxPK, String taxName, ContactMechanismPurposePK contactMechanismPurposePK, GlAccountPK glAccountPK, Boolean includeShippingCharge, Boolean includeProcessingCharge, Boolean includeInsuranceCharge, Integer percent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 073 throws PersistenceNotNullException { 074 checkForNull(taxPK); 075 this.taxPK = taxPK; 076 checkForNull(taxName); 077 this.taxName = taxName; 078 checkForNull(contactMechanismPurposePK); 079 this.contactMechanismPurposePK = contactMechanismPurposePK; 080 checkForNull(glAccountPK); 081 this.glAccountPK = glAccountPK; 082 checkForNull(includeShippingCharge); 083 this.includeShippingCharge = includeShippingCharge; 084 checkForNull(includeProcessingCharge); 085 this.includeProcessingCharge = includeProcessingCharge; 086 checkForNull(includeInsuranceCharge); 087 this.includeInsuranceCharge = includeInsuranceCharge; 088 checkForNull(percent); 089 this.percent = percent; 090 checkForNull(isDefault); 091 this.isDefault = isDefault; 092 checkForNull(sortOrder); 093 this.sortOrder = sortOrder; 094 checkForNull(fromTime); 095 this.fromTime = fromTime; 096 checkForNull(thruTime); 097 this.thruTime = thruTime; 098 } 099 100 /** Creates a new instance of TaxDetailValue */ 101 public TaxDetailValue(TaxDetailPK taxDetailPK, TaxPK taxPK, String taxName, ContactMechanismPurposePK contactMechanismPurposePK, GlAccountPK glAccountPK, Boolean includeShippingCharge, Boolean includeProcessingCharge, Boolean includeInsuranceCharge, Integer percent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 102 throws PersistenceNotNullException { 103 super(taxDetailPK); 104 constructFields(taxPK, taxName, contactMechanismPurposePK, glAccountPK, includeShippingCharge, includeProcessingCharge, includeInsuranceCharge, percent, isDefault, sortOrder, fromTime, thruTime); 105 } 106 107 /** Creates a new instance of TaxDetailValue */ 108 public TaxDetailValue(TaxPK taxPK, String taxName, ContactMechanismPurposePK contactMechanismPurposePK, GlAccountPK glAccountPK, Boolean includeShippingCharge, Boolean includeProcessingCharge, Boolean includeInsuranceCharge, Integer percent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 109 throws PersistenceNotNullException { 110 super(); 111 constructFields(taxPK, taxName, contactMechanismPurposePK, glAccountPK, includeShippingCharge, includeProcessingCharge, includeInsuranceCharge, percent, isDefault, sortOrder, fromTime, thruTime); 112 } 113 114 @Override 115 public TaxDetailFactory getBaseFactoryInstance() { 116 return TaxDetailFactory.getInstance(); 117 } 118 119 @Override 120 public TaxDetailValue clone() { 121 Object result; 122 123 try { 124 result = super.clone(); 125 } catch (CloneNotSupportedException cnse) { 126 // This shouldn't happen, fail when it does. 127 throw new PersistenceCloneException(cnse); 128 } 129 130 return (TaxDetailValue)result; 131 } 132 133 @Override 134 public TaxDetailPK getPrimaryKey() { 135 if(_primaryKey == null) { 136 _primaryKey = new TaxDetailPK(entityId); 137 } 138 139 return _primaryKey; 140 } 141 142 private void clearHashAndString() { 143 _hashCode = null; 144 _stringValue = null; 145 } 146 147 @Override 148 public int hashCode() { 149 if(_hashCode == null) { 150 int hashCode = 17; 151 152 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 153 154 hashCode = 37 * hashCode + ((taxPK != null) ? taxPK.hashCode() : 0); 155 hashCode = 37 * hashCode + ((taxName != null) ? taxName.hashCode() : 0); 156 hashCode = 37 * hashCode + ((contactMechanismPurposePK != null) ? contactMechanismPurposePK.hashCode() : 0); 157 hashCode = 37 * hashCode + ((glAccountPK != null) ? glAccountPK.hashCode() : 0); 158 hashCode = 37 * hashCode + ((includeShippingCharge != null) ? includeShippingCharge.hashCode() : 0); 159 hashCode = 37 * hashCode + ((includeProcessingCharge != null) ? includeProcessingCharge.hashCode() : 0); 160 hashCode = 37 * hashCode + ((includeInsuranceCharge != null) ? includeInsuranceCharge.hashCode() : 0); 161 hashCode = 37 * hashCode + ((percent != null) ? percent.hashCode() : 0); 162 hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0); 163 hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0); 164 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 165 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 166 167 _hashCode = hashCode; 168 } 169 170 return _hashCode; 171 } 172 173 @Override 174 public String toString() { 175 if(_stringValue == null) { 176 StringBuilder stringValue = new StringBuilder("{"); 177 178 stringValue.append("entityId=").append(getEntityId()); 179 180 stringValue.append(", taxPK=").append(getTaxPK()); 181 stringValue.append(", taxName=").append(getTaxName()); 182 stringValue.append(", contactMechanismPurposePK=").append(getContactMechanismPurposePK()); 183 stringValue.append(", glAccountPK=").append(getGlAccountPK()); 184 stringValue.append(", includeShippingCharge=").append(getIncludeShippingCharge()); 185 stringValue.append(", includeProcessingCharge=").append(getIncludeProcessingCharge()); 186 stringValue.append(", includeInsuranceCharge=").append(getIncludeInsuranceCharge()); 187 stringValue.append(", percent=").append(getPercent()); 188 stringValue.append(", isDefault=").append(getIsDefault()); 189 stringValue.append(", sortOrder=").append(getSortOrder()); 190 stringValue.append(", fromTime=").append(getFromTime()); 191 stringValue.append(", thruTime=").append(getThruTime()); 192 193 stringValue.append('}'); 194 195 _stringValue = stringValue.toString(); 196 } 197 return _stringValue; 198 } 199 200 @Override 201 public boolean equals(Object other) { 202 if(this == other) 203 return true; 204 205 if(!hasIdentity()) 206 return false; 207 208 if(other instanceof TaxDetailValue) { 209 TaxDetailValue that = (TaxDetailValue)other; 210 211 if(!that.hasIdentity()) 212 return false; 213 214 Long thisEntityId = getEntityId(); 215 Long thatEntityId = that.getEntityId(); 216 217 boolean objectsEqual = thisEntityId.equals(thatEntityId); 218 if(objectsEqual) 219 objectsEqual = objectsEqual && isIdentical(that); 220 221 return objectsEqual; 222 } else { 223 return false; 224 } 225 } 226 227 public boolean isIdentical(Object other) { 228 if(other instanceof TaxDetailValue) { 229 TaxDetailValue that = (TaxDetailValue)other; 230 boolean objectsEqual = true; 231 232 233 if(objectsEqual) { 234 TaxPK thisTaxPK = getTaxPK(); 235 TaxPK thatTaxPK = that.getTaxPK(); 236 237 if(thisTaxPK == null) { 238 objectsEqual = objectsEqual && (thatTaxPK == null); 239 } else { 240 objectsEqual = objectsEqual && thisTaxPK.equals(thatTaxPK); 241 } 242 } 243 244 if(objectsEqual) { 245 String thisTaxName = getTaxName(); 246 String thatTaxName = that.getTaxName(); 247 248 if(thisTaxName == null) { 249 objectsEqual = objectsEqual && (thatTaxName == null); 250 } else { 251 objectsEqual = objectsEqual && thisTaxName.equals(thatTaxName); 252 } 253 } 254 255 if(objectsEqual) { 256 ContactMechanismPurposePK thisContactMechanismPurposePK = getContactMechanismPurposePK(); 257 ContactMechanismPurposePK thatContactMechanismPurposePK = that.getContactMechanismPurposePK(); 258 259 if(thisContactMechanismPurposePK == null) { 260 objectsEqual = objectsEqual && (thatContactMechanismPurposePK == null); 261 } else { 262 objectsEqual = objectsEqual && thisContactMechanismPurposePK.equals(thatContactMechanismPurposePK); 263 } 264 } 265 266 if(objectsEqual) { 267 GlAccountPK thisGlAccountPK = getGlAccountPK(); 268 GlAccountPK thatGlAccountPK = that.getGlAccountPK(); 269 270 if(thisGlAccountPK == null) { 271 objectsEqual = objectsEqual && (thatGlAccountPK == null); 272 } else { 273 objectsEqual = objectsEqual && thisGlAccountPK.equals(thatGlAccountPK); 274 } 275 } 276 277 if(objectsEqual) { 278 Boolean thisIncludeShippingCharge = getIncludeShippingCharge(); 279 Boolean thatIncludeShippingCharge = that.getIncludeShippingCharge(); 280 281 if(thisIncludeShippingCharge == null) { 282 objectsEqual = objectsEqual && (thatIncludeShippingCharge == null); 283 } else { 284 objectsEqual = objectsEqual && thisIncludeShippingCharge.equals(thatIncludeShippingCharge); 285 } 286 } 287 288 if(objectsEqual) { 289 Boolean thisIncludeProcessingCharge = getIncludeProcessingCharge(); 290 Boolean thatIncludeProcessingCharge = that.getIncludeProcessingCharge(); 291 292 if(thisIncludeProcessingCharge == null) { 293 objectsEqual = objectsEqual && (thatIncludeProcessingCharge == null); 294 } else { 295 objectsEqual = objectsEqual && thisIncludeProcessingCharge.equals(thatIncludeProcessingCharge); 296 } 297 } 298 299 if(objectsEqual) { 300 Boolean thisIncludeInsuranceCharge = getIncludeInsuranceCharge(); 301 Boolean thatIncludeInsuranceCharge = that.getIncludeInsuranceCharge(); 302 303 if(thisIncludeInsuranceCharge == null) { 304 objectsEqual = objectsEqual && (thatIncludeInsuranceCharge == null); 305 } else { 306 objectsEqual = objectsEqual && thisIncludeInsuranceCharge.equals(thatIncludeInsuranceCharge); 307 } 308 } 309 310 if(objectsEqual) { 311 Integer thisPercent = getPercent(); 312 Integer thatPercent = that.getPercent(); 313 314 if(thisPercent == null) { 315 objectsEqual = objectsEqual && (thatPercent == null); 316 } else { 317 objectsEqual = objectsEqual && thisPercent.equals(thatPercent); 318 } 319 } 320 321 if(objectsEqual) { 322 Boolean thisIsDefault = getIsDefault(); 323 Boolean thatIsDefault = that.getIsDefault(); 324 325 if(thisIsDefault == null) { 326 objectsEqual = objectsEqual && (thatIsDefault == null); 327 } else { 328 objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault); 329 } 330 } 331 332 if(objectsEqual) { 333 Integer thisSortOrder = getSortOrder(); 334 Integer thatSortOrder = that.getSortOrder(); 335 336 if(thisSortOrder == null) { 337 objectsEqual = objectsEqual && (thatSortOrder == null); 338 } else { 339 objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder); 340 } 341 } 342 343 if(objectsEqual) { 344 Long thisFromTime = getFromTime(); 345 Long thatFromTime = that.getFromTime(); 346 347 if(thisFromTime == null) { 348 objectsEqual = objectsEqual && (thatFromTime == null); 349 } else { 350 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 351 } 352 } 353 354 if(objectsEqual) { 355 Long thisThruTime = getThruTime(); 356 Long thatThruTime = that.getThruTime(); 357 358 if(thisThruTime == null) { 359 objectsEqual = objectsEqual && (thatThruTime == null); 360 } else { 361 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 362 } 363 } 364 365 return objectsEqual; 366 } else { 367 return false; 368 } 369 } 370 371 @Override 372 public boolean hasBeenModified() { 373 return taxPKHasBeenModified || taxNameHasBeenModified || contactMechanismPurposePKHasBeenModified || glAccountPKHasBeenModified || includeShippingChargeHasBeenModified || includeProcessingChargeHasBeenModified || includeInsuranceChargeHasBeenModified || percentHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 374 } 375 376 @Override 377 public void clearHasBeenModified() { 378 taxPKHasBeenModified = false; 379 taxNameHasBeenModified = false; 380 contactMechanismPurposePKHasBeenModified = false; 381 glAccountPKHasBeenModified = false; 382 includeShippingChargeHasBeenModified = false; 383 includeProcessingChargeHasBeenModified = false; 384 includeInsuranceChargeHasBeenModified = false; 385 percentHasBeenModified = false; 386 isDefaultHasBeenModified = false; 387 sortOrderHasBeenModified = false; 388 fromTimeHasBeenModified = false; 389 thruTimeHasBeenModified = false; 390 } 391 392 public TaxPK getTaxPK() { 393 return taxPK; 394 } 395 396 public void setTaxPK(TaxPK taxPK) 397 throws PersistenceNotNullException { 398 checkForNull(taxPK); 399 400 boolean update = true; 401 402 if(this.taxPK != null) { 403 if(this.taxPK.equals(taxPK)) { 404 update = false; 405 } 406 } else if(taxPK == null) { 407 update = false; 408 } 409 410 if(update) { 411 this.taxPK = taxPK; 412 taxPKHasBeenModified = true; 413 clearHashAndString(); 414 } 415 } 416 417 public boolean getTaxPKHasBeenModified() { 418 return taxPKHasBeenModified; 419 } 420 421 public String getTaxName() { 422 return taxName; 423 } 424 425 public void setTaxName(String taxName) 426 throws PersistenceNotNullException { 427 checkForNull(taxName); 428 429 boolean update = true; 430 431 if(this.taxName != null) { 432 if(this.taxName.equals(taxName)) { 433 update = false; 434 } 435 } else if(taxName == null) { 436 update = false; 437 } 438 439 if(update) { 440 this.taxName = taxName; 441 taxNameHasBeenModified = true; 442 clearHashAndString(); 443 } 444 } 445 446 public boolean getTaxNameHasBeenModified() { 447 return taxNameHasBeenModified; 448 } 449 450 public ContactMechanismPurposePK getContactMechanismPurposePK() { 451 return contactMechanismPurposePK; 452 } 453 454 public void setContactMechanismPurposePK(ContactMechanismPurposePK contactMechanismPurposePK) 455 throws PersistenceNotNullException { 456 checkForNull(contactMechanismPurposePK); 457 458 boolean update = true; 459 460 if(this.contactMechanismPurposePK != null) { 461 if(this.contactMechanismPurposePK.equals(contactMechanismPurposePK)) { 462 update = false; 463 } 464 } else if(contactMechanismPurposePK == null) { 465 update = false; 466 } 467 468 if(update) { 469 this.contactMechanismPurposePK = contactMechanismPurposePK; 470 contactMechanismPurposePKHasBeenModified = true; 471 clearHashAndString(); 472 } 473 } 474 475 public boolean getContactMechanismPurposePKHasBeenModified() { 476 return contactMechanismPurposePKHasBeenModified; 477 } 478 479 public GlAccountPK getGlAccountPK() { 480 return glAccountPK; 481 } 482 483 public void setGlAccountPK(GlAccountPK glAccountPK) 484 throws PersistenceNotNullException { 485 checkForNull(glAccountPK); 486 487 boolean update = true; 488 489 if(this.glAccountPK != null) { 490 if(this.glAccountPK.equals(glAccountPK)) { 491 update = false; 492 } 493 } else if(glAccountPK == null) { 494 update = false; 495 } 496 497 if(update) { 498 this.glAccountPK = glAccountPK; 499 glAccountPKHasBeenModified = true; 500 clearHashAndString(); 501 } 502 } 503 504 public boolean getGlAccountPKHasBeenModified() { 505 return glAccountPKHasBeenModified; 506 } 507 508 public Boolean getIncludeShippingCharge() { 509 return includeShippingCharge; 510 } 511 512 public void setIncludeShippingCharge(Boolean includeShippingCharge) 513 throws PersistenceNotNullException { 514 checkForNull(includeShippingCharge); 515 516 boolean update = true; 517 518 if(this.includeShippingCharge != null) { 519 if(this.includeShippingCharge.equals(includeShippingCharge)) { 520 update = false; 521 } 522 } else if(includeShippingCharge == null) { 523 update = false; 524 } 525 526 if(update) { 527 this.includeShippingCharge = includeShippingCharge; 528 includeShippingChargeHasBeenModified = true; 529 clearHashAndString(); 530 } 531 } 532 533 public boolean getIncludeShippingChargeHasBeenModified() { 534 return includeShippingChargeHasBeenModified; 535 } 536 537 public Boolean getIncludeProcessingCharge() { 538 return includeProcessingCharge; 539 } 540 541 public void setIncludeProcessingCharge(Boolean includeProcessingCharge) 542 throws PersistenceNotNullException { 543 checkForNull(includeProcessingCharge); 544 545 boolean update = true; 546 547 if(this.includeProcessingCharge != null) { 548 if(this.includeProcessingCharge.equals(includeProcessingCharge)) { 549 update = false; 550 } 551 } else if(includeProcessingCharge == null) { 552 update = false; 553 } 554 555 if(update) { 556 this.includeProcessingCharge = includeProcessingCharge; 557 includeProcessingChargeHasBeenModified = true; 558 clearHashAndString(); 559 } 560 } 561 562 public boolean getIncludeProcessingChargeHasBeenModified() { 563 return includeProcessingChargeHasBeenModified; 564 } 565 566 public Boolean getIncludeInsuranceCharge() { 567 return includeInsuranceCharge; 568 } 569 570 public void setIncludeInsuranceCharge(Boolean includeInsuranceCharge) 571 throws PersistenceNotNullException { 572 checkForNull(includeInsuranceCharge); 573 574 boolean update = true; 575 576 if(this.includeInsuranceCharge != null) { 577 if(this.includeInsuranceCharge.equals(includeInsuranceCharge)) { 578 update = false; 579 } 580 } else if(includeInsuranceCharge == null) { 581 update = false; 582 } 583 584 if(update) { 585 this.includeInsuranceCharge = includeInsuranceCharge; 586 includeInsuranceChargeHasBeenModified = true; 587 clearHashAndString(); 588 } 589 } 590 591 public boolean getIncludeInsuranceChargeHasBeenModified() { 592 return includeInsuranceChargeHasBeenModified; 593 } 594 595 public Integer getPercent() { 596 return percent; 597 } 598 599 public void setPercent(Integer percent) 600 throws PersistenceNotNullException { 601 checkForNull(percent); 602 603 boolean update = true; 604 605 if(this.percent != null) { 606 if(this.percent.equals(percent)) { 607 update = false; 608 } 609 } else if(percent == null) { 610 update = false; 611 } 612 613 if(update) { 614 this.percent = percent; 615 percentHasBeenModified = true; 616 clearHashAndString(); 617 } 618 } 619 620 public boolean getPercentHasBeenModified() { 621 return percentHasBeenModified; 622 } 623 624 public Boolean getIsDefault() { 625 return isDefault; 626 } 627 628 public void setIsDefault(Boolean isDefault) 629 throws PersistenceNotNullException { 630 checkForNull(isDefault); 631 632 boolean update = true; 633 634 if(this.isDefault != null) { 635 if(this.isDefault.equals(isDefault)) { 636 update = false; 637 } 638 } else if(isDefault == null) { 639 update = false; 640 } 641 642 if(update) { 643 this.isDefault = isDefault; 644 isDefaultHasBeenModified = true; 645 clearHashAndString(); 646 } 647 } 648 649 public boolean getIsDefaultHasBeenModified() { 650 return isDefaultHasBeenModified; 651 } 652 653 public Integer getSortOrder() { 654 return sortOrder; 655 } 656 657 public void setSortOrder(Integer sortOrder) 658 throws PersistenceNotNullException { 659 checkForNull(sortOrder); 660 661 boolean update = true; 662 663 if(this.sortOrder != null) { 664 if(this.sortOrder.equals(sortOrder)) { 665 update = false; 666 } 667 } else if(sortOrder == null) { 668 update = false; 669 } 670 671 if(update) { 672 this.sortOrder = sortOrder; 673 sortOrderHasBeenModified = true; 674 clearHashAndString(); 675 } 676 } 677 678 public boolean getSortOrderHasBeenModified() { 679 return sortOrderHasBeenModified; 680 } 681 682 public Long getFromTime() { 683 return fromTime; 684 } 685 686 public void setFromTime(Long fromTime) 687 throws PersistenceNotNullException { 688 checkForNull(fromTime); 689 690 boolean update = true; 691 692 if(this.fromTime != null) { 693 if(this.fromTime.equals(fromTime)) { 694 update = false; 695 } 696 } else if(fromTime == null) { 697 update = false; 698 } 699 700 if(update) { 701 this.fromTime = fromTime; 702 fromTimeHasBeenModified = true; 703 clearHashAndString(); 704 } 705 } 706 707 public boolean getFromTimeHasBeenModified() { 708 return fromTimeHasBeenModified; 709 } 710 711 public Long getThruTime() { 712 return thruTime; 713 } 714 715 public void setThruTime(Long thruTime) 716 throws PersistenceNotNullException { 717 checkForNull(thruTime); 718 719 boolean update = true; 720 721 if(this.thruTime != null) { 722 if(this.thruTime.equals(thruTime)) { 723 update = false; 724 } 725 } else if(thruTime == null) { 726 update = false; 727 } 728 729 if(update) { 730 this.thruTime = thruTime; 731 thruTimeHasBeenModified = true; 732 clearHashAndString(); 733 } 734 } 735 736 public boolean getThruTimeHasBeenModified() { 737 return thruTimeHasBeenModified; 738 } 739 740}