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 * ShipmentLineDetailValue.java 021 */ 022 023package com.echothree.model.data.shipment.server.value; 024 025import com.echothree.model.data.shipment.common.pk.ShipmentLineDetailPK; 026 027import com.echothree.model.data.shipment.server.factory.ShipmentLineDetailFactory; 028 029import com.echothree.model.data.shipment.common.pk.ShipmentLinePK; 030import com.echothree.model.data.shipment.common.pk.ShipmentPK; 031import com.echothree.model.data.order.common.pk.OrderLinePK; 032import com.echothree.model.data.item.common.pk.ItemPK; 033import com.echothree.model.data.inventory.common.pk.InventoryConditionPK; 034import com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK; 035 036import com.echothree.util.common.exception.PersistenceCloneException; 037import com.echothree.util.common.exception.PersistenceNotNullException; 038 039import com.echothree.util.server.persistence.BaseValue; 040 041import java.io.Serializable; 042 043import javax.annotation.Nonnull; 044import javax.annotation.Nullable; 045 046public class ShipmentLineDetailValue 047 extends BaseValue<ShipmentLineDetailPK> 048 implements Cloneable, Serializable { 049 050 private ShipmentLinePK shipmentLinePK; 051 private boolean shipmentLinePKHasBeenModified = false; 052 private ShipmentPK shipmentPK; 053 private boolean shipmentPKHasBeenModified = false; 054 private Integer shipmentLineSequence; 055 private boolean shipmentLineSequenceHasBeenModified = false; 056 private ShipmentLinePK parentShipmentLinePK; 057 private boolean parentShipmentLinePKHasBeenModified = false; 058 private OrderLinePK orderLinePK; 059 private boolean orderLinePKHasBeenModified = false; 060 private ItemPK itemPK; 061 private boolean itemPKHasBeenModified = false; 062 private InventoryConditionPK inventoryConditionPK; 063 private boolean inventoryConditionPKHasBeenModified = false; 064 private UnitOfMeasureTypePK unitOfMeasureTypePK; 065 private boolean unitOfMeasureTypePKHasBeenModified = false; 066 private Long quantity; 067 private boolean quantityHasBeenModified = false; 068 private Long fromTime; 069 private boolean fromTimeHasBeenModified = false; 070 private Long thruTime; 071 private boolean thruTimeHasBeenModified = false; 072 073 private transient Integer _hashCode = null; 074 private transient String _stringValue = null; 075 076 private void constructFields(ShipmentLinePK shipmentLinePK, ShipmentPK shipmentPK, Integer shipmentLineSequence, ShipmentLinePK parentShipmentLinePK, OrderLinePK orderLinePK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long fromTime, Long thruTime) 077 throws PersistenceNotNullException { 078 checkForNull(shipmentLinePK); 079 this.shipmentLinePK = shipmentLinePK; 080 checkForNull(shipmentPK); 081 this.shipmentPK = shipmentPK; 082 checkForNull(shipmentLineSequence); 083 this.shipmentLineSequence = shipmentLineSequence; 084 this.parentShipmentLinePK = parentShipmentLinePK; 085 this.orderLinePK = orderLinePK; 086 checkForNull(itemPK); 087 this.itemPK = itemPK; 088 checkForNull(inventoryConditionPK); 089 this.inventoryConditionPK = inventoryConditionPK; 090 checkForNull(unitOfMeasureTypePK); 091 this.unitOfMeasureTypePK = unitOfMeasureTypePK; 092 checkForNull(quantity); 093 this.quantity = quantity; 094 checkForNull(fromTime); 095 this.fromTime = fromTime; 096 checkForNull(thruTime); 097 this.thruTime = thruTime; 098 } 099 100 /** Creates a new instance of ShipmentLineDetailValue */ 101 public ShipmentLineDetailValue(ShipmentLineDetailPK shipmentLineDetailPK, ShipmentLinePK shipmentLinePK, ShipmentPK shipmentPK, Integer shipmentLineSequence, ShipmentLinePK parentShipmentLinePK, OrderLinePK orderLinePK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long fromTime, Long thruTime) 102 throws PersistenceNotNullException { 103 super(shipmentLineDetailPK); 104 constructFields(shipmentLinePK, shipmentPK, shipmentLineSequence, parentShipmentLinePK, orderLinePK, itemPK, inventoryConditionPK, unitOfMeasureTypePK, quantity, fromTime, thruTime); 105 } 106 107 /** Creates a new instance of ShipmentLineDetailValue */ 108 public ShipmentLineDetailValue(ShipmentLinePK shipmentLinePK, ShipmentPK shipmentPK, Integer shipmentLineSequence, ShipmentLinePK parentShipmentLinePK, OrderLinePK orderLinePK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long fromTime, Long thruTime) 109 throws PersistenceNotNullException { 110 super(); 111 constructFields(shipmentLinePK, shipmentPK, shipmentLineSequence, parentShipmentLinePK, orderLinePK, itemPK, inventoryConditionPK, unitOfMeasureTypePK, quantity, fromTime, thruTime); 112 } 113 114 @Override 115 @Nonnull 116 public ShipmentLineDetailFactory getBaseFactoryInstance() { 117 return ShipmentLineDetailFactory.getInstance(); 118 } 119 120 @Override 121 @Nonnull 122 public ShipmentLineDetailValue clone() { 123 Object result; 124 125 try { 126 result = super.clone(); 127 } catch (CloneNotSupportedException cnse) { 128 // This shouldn't happen, fail when it does. 129 throw new PersistenceCloneException(cnse); 130 } 131 132 return (ShipmentLineDetailValue)result; 133 } 134 135 @Override 136 @Nonnull 137 public ShipmentLineDetailPK getPrimaryKey() { 138 if(_primaryKey == null) { 139 _primaryKey = new ShipmentLineDetailPK(entityId); 140 } 141 142 return _primaryKey; 143 } 144 145 private void clearHashAndString() { 146 _hashCode = null; 147 _stringValue = null; 148 } 149 150 @Override 151 public int hashCode() { 152 if(_hashCode == null) { 153 int hashCode = 17; 154 155 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 156 157 hashCode = 37 * hashCode + ((shipmentLinePK != null) ? shipmentLinePK.hashCode() : 0); 158 hashCode = 37 * hashCode + ((shipmentPK != null) ? shipmentPK.hashCode() : 0); 159 hashCode = 37 * hashCode + ((shipmentLineSequence != null) ? shipmentLineSequence.hashCode() : 0); 160 hashCode = 37 * hashCode + ((parentShipmentLinePK != null) ? parentShipmentLinePK.hashCode() : 0); 161 hashCode = 37 * hashCode + ((orderLinePK != null) ? orderLinePK.hashCode() : 0); 162 hashCode = 37 * hashCode + ((itemPK != null) ? itemPK.hashCode() : 0); 163 hashCode = 37 * hashCode + ((inventoryConditionPK != null) ? inventoryConditionPK.hashCode() : 0); 164 hashCode = 37 * hashCode + ((unitOfMeasureTypePK != null) ? unitOfMeasureTypePK.hashCode() : 0); 165 hashCode = 37 * hashCode + ((quantity != null) ? quantity.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 ", shipmentLinePK=" + getShipmentLinePK() + 182 ", shipmentPK=" + getShipmentPK() + 183 ", shipmentLineSequence=" + getShipmentLineSequence() + 184 ", parentShipmentLinePK=" + getParentShipmentLinePK() + 185 ", orderLinePK=" + getOrderLinePK() + 186 ", itemPK=" + getItemPK() + 187 ", inventoryConditionPK=" + getInventoryConditionPK() + 188 ", unitOfMeasureTypePK=" + getUnitOfMeasureTypePK() + 189 ", quantity=" + getQuantity() + 190 ", fromTime=" + getFromTime() + 191 ", thruTime=" + getThruTime() + 192 "}"; 193 } 194 return _stringValue; 195 } 196 197 @Override 198 public boolean equals(Object other) { 199 if(this == other) 200 return true; 201 202 if(!hasIdentity()) 203 return false; 204 205 if(other instanceof ShipmentLineDetailValue that) { 206 if(!that.hasIdentity()) 207 return false; 208 209 Long thisEntityId = getEntityId(); 210 Long thatEntityId = that.getEntityId(); 211 212 boolean objectsEqual = thisEntityId.equals(thatEntityId); 213 if(objectsEqual) 214 objectsEqual = isIdentical(that); 215 216 return objectsEqual; 217 } else { 218 return false; 219 } 220 } 221 222 public boolean isIdentical(Object other) { 223 if(other instanceof ShipmentLineDetailValue that) { 224 boolean objectsEqual = true; 225 226 227 if(objectsEqual) { 228 ShipmentLinePK thisShipmentLinePK = getShipmentLinePK(); 229 ShipmentLinePK thatShipmentLinePK = that.getShipmentLinePK(); 230 231 if(thisShipmentLinePK == null) { 232 objectsEqual = objectsEqual && (thatShipmentLinePK == null); 233 } else { 234 objectsEqual = objectsEqual && thisShipmentLinePK.equals(thatShipmentLinePK); 235 } 236 } 237 238 if(objectsEqual) { 239 ShipmentPK thisShipmentPK = getShipmentPK(); 240 ShipmentPK thatShipmentPK = that.getShipmentPK(); 241 242 if(thisShipmentPK == null) { 243 objectsEqual = objectsEqual && (thatShipmentPK == null); 244 } else { 245 objectsEqual = objectsEqual && thisShipmentPK.equals(thatShipmentPK); 246 } 247 } 248 249 if(objectsEqual) { 250 Integer thisShipmentLineSequence = getShipmentLineSequence(); 251 Integer thatShipmentLineSequence = that.getShipmentLineSequence(); 252 253 if(thisShipmentLineSequence == null) { 254 objectsEqual = objectsEqual && (thatShipmentLineSequence == null); 255 } else { 256 objectsEqual = objectsEqual && thisShipmentLineSequence.equals(thatShipmentLineSequence); 257 } 258 } 259 260 if(objectsEqual) { 261 ShipmentLinePK thisParentShipmentLinePK = getParentShipmentLinePK(); 262 ShipmentLinePK thatParentShipmentLinePK = that.getParentShipmentLinePK(); 263 264 if(thisParentShipmentLinePK == null) { 265 objectsEqual = objectsEqual && (thatParentShipmentLinePK == null); 266 } else { 267 objectsEqual = objectsEqual && thisParentShipmentLinePK.equals(thatParentShipmentLinePK); 268 } 269 } 270 271 if(objectsEqual) { 272 OrderLinePK thisOrderLinePK = getOrderLinePK(); 273 OrderLinePK thatOrderLinePK = that.getOrderLinePK(); 274 275 if(thisOrderLinePK == null) { 276 objectsEqual = objectsEqual && (thatOrderLinePK == null); 277 } else { 278 objectsEqual = objectsEqual && thisOrderLinePK.equals(thatOrderLinePK); 279 } 280 } 281 282 if(objectsEqual) { 283 ItemPK thisItemPK = getItemPK(); 284 ItemPK thatItemPK = that.getItemPK(); 285 286 if(thisItemPK == null) { 287 objectsEqual = objectsEqual && (thatItemPK == null); 288 } else { 289 objectsEqual = objectsEqual && thisItemPK.equals(thatItemPK); 290 } 291 } 292 293 if(objectsEqual) { 294 InventoryConditionPK thisInventoryConditionPK = getInventoryConditionPK(); 295 InventoryConditionPK thatInventoryConditionPK = that.getInventoryConditionPK(); 296 297 if(thisInventoryConditionPK == null) { 298 objectsEqual = objectsEqual && (thatInventoryConditionPK == null); 299 } else { 300 objectsEqual = objectsEqual && thisInventoryConditionPK.equals(thatInventoryConditionPK); 301 } 302 } 303 304 if(objectsEqual) { 305 UnitOfMeasureTypePK thisUnitOfMeasureTypePK = getUnitOfMeasureTypePK(); 306 UnitOfMeasureTypePK thatUnitOfMeasureTypePK = that.getUnitOfMeasureTypePK(); 307 308 if(thisUnitOfMeasureTypePK == null) { 309 objectsEqual = objectsEqual && (thatUnitOfMeasureTypePK == null); 310 } else { 311 objectsEqual = objectsEqual && thisUnitOfMeasureTypePK.equals(thatUnitOfMeasureTypePK); 312 } 313 } 314 315 if(objectsEqual) { 316 Long thisQuantity = getQuantity(); 317 Long thatQuantity = that.getQuantity(); 318 319 if(thisQuantity == null) { 320 objectsEqual = objectsEqual && (thatQuantity == null); 321 } else { 322 objectsEqual = objectsEqual && thisQuantity.equals(thatQuantity); 323 } 324 } 325 326 if(objectsEqual) { 327 Long thisFromTime = getFromTime(); 328 Long thatFromTime = that.getFromTime(); 329 330 if(thisFromTime == null) { 331 objectsEqual = objectsEqual && (thatFromTime == null); 332 } else { 333 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 334 } 335 } 336 337 if(objectsEqual) { 338 Long thisThruTime = getThruTime(); 339 Long thatThruTime = that.getThruTime(); 340 341 if(thisThruTime == null) { 342 objectsEqual = objectsEqual && (thatThruTime == null); 343 } else { 344 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 345 } 346 } 347 348 return objectsEqual; 349 } else { 350 return false; 351 } 352 } 353 354 @Override 355 public boolean hasBeenModified() { 356 return shipmentLinePKHasBeenModified || shipmentPKHasBeenModified || shipmentLineSequenceHasBeenModified || parentShipmentLinePKHasBeenModified || orderLinePKHasBeenModified || itemPKHasBeenModified || inventoryConditionPKHasBeenModified || unitOfMeasureTypePKHasBeenModified || quantityHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 357 } 358 359 @Override 360 public void clearHasBeenModified() { 361 shipmentLinePKHasBeenModified = false; 362 shipmentPKHasBeenModified = false; 363 shipmentLineSequenceHasBeenModified = false; 364 parentShipmentLinePKHasBeenModified = false; 365 orderLinePKHasBeenModified = false; 366 itemPKHasBeenModified = false; 367 inventoryConditionPKHasBeenModified = false; 368 unitOfMeasureTypePKHasBeenModified = false; 369 quantityHasBeenModified = false; 370 fromTimeHasBeenModified = false; 371 thruTimeHasBeenModified = false; 372 } 373 374 @Nonnull 375 public ShipmentLinePK getShipmentLinePK() { 376 return shipmentLinePK; 377 } 378 379 public void setShipmentLinePK(@Nonnull ShipmentLinePK shipmentLinePK) 380 throws PersistenceNotNullException { 381 checkForNull(shipmentLinePK); 382 383 boolean update = true; 384 385 if(this.shipmentLinePK != null) { 386 if(this.shipmentLinePK.equals(shipmentLinePK)) { 387 update = false; 388 } 389 } else if(shipmentLinePK == null) { 390 update = false; 391 } 392 393 if(update) { 394 this.shipmentLinePK = shipmentLinePK; 395 shipmentLinePKHasBeenModified = true; 396 clearHashAndString(); 397 } 398 } 399 400 public boolean getShipmentLinePKHasBeenModified() { 401 return shipmentLinePKHasBeenModified; 402 } 403 404 @Nonnull 405 public ShipmentPK getShipmentPK() { 406 return shipmentPK; 407 } 408 409 public void setShipmentPK(@Nonnull ShipmentPK shipmentPK) 410 throws PersistenceNotNullException { 411 checkForNull(shipmentPK); 412 413 boolean update = true; 414 415 if(this.shipmentPK != null) { 416 if(this.shipmentPK.equals(shipmentPK)) { 417 update = false; 418 } 419 } else if(shipmentPK == null) { 420 update = false; 421 } 422 423 if(update) { 424 this.shipmentPK = shipmentPK; 425 shipmentPKHasBeenModified = true; 426 clearHashAndString(); 427 } 428 } 429 430 public boolean getShipmentPKHasBeenModified() { 431 return shipmentPKHasBeenModified; 432 } 433 434 @Nonnull 435 public Integer getShipmentLineSequence() { 436 return shipmentLineSequence; 437 } 438 439 public void setShipmentLineSequence(@Nonnull Integer shipmentLineSequence) 440 throws PersistenceNotNullException { 441 checkForNull(shipmentLineSequence); 442 443 boolean update = true; 444 445 if(this.shipmentLineSequence != null) { 446 if(this.shipmentLineSequence.equals(shipmentLineSequence)) { 447 update = false; 448 } 449 } else if(shipmentLineSequence == null) { 450 update = false; 451 } 452 453 if(update) { 454 this.shipmentLineSequence = shipmentLineSequence; 455 shipmentLineSequenceHasBeenModified = true; 456 clearHashAndString(); 457 } 458 } 459 460 public boolean getShipmentLineSequenceHasBeenModified() { 461 return shipmentLineSequenceHasBeenModified; 462 } 463 464 @Nullable 465 public ShipmentLinePK getParentShipmentLinePK() { 466 return parentShipmentLinePK; 467 } 468 469 public void setParentShipmentLinePK(@Nullable ShipmentLinePK parentShipmentLinePK) { 470 boolean update = true; 471 472 if(this.parentShipmentLinePK != null) { 473 if(this.parentShipmentLinePK.equals(parentShipmentLinePK)) { 474 update = false; 475 } 476 } else if(parentShipmentLinePK == null) { 477 update = false; 478 } 479 480 if(update) { 481 this.parentShipmentLinePK = parentShipmentLinePK; 482 parentShipmentLinePKHasBeenModified = true; 483 clearHashAndString(); 484 } 485 } 486 487 public boolean getParentShipmentLinePKHasBeenModified() { 488 return parentShipmentLinePKHasBeenModified; 489 } 490 491 @Nullable 492 public OrderLinePK getOrderLinePK() { 493 return orderLinePK; 494 } 495 496 public void setOrderLinePK(@Nullable OrderLinePK orderLinePK) { 497 boolean update = true; 498 499 if(this.orderLinePK != null) { 500 if(this.orderLinePK.equals(orderLinePK)) { 501 update = false; 502 } 503 } else if(orderLinePK == null) { 504 update = false; 505 } 506 507 if(update) { 508 this.orderLinePK = orderLinePK; 509 orderLinePKHasBeenModified = true; 510 clearHashAndString(); 511 } 512 } 513 514 public boolean getOrderLinePKHasBeenModified() { 515 return orderLinePKHasBeenModified; 516 } 517 518 @Nonnull 519 public ItemPK getItemPK() { 520 return itemPK; 521 } 522 523 public void setItemPK(@Nonnull ItemPK itemPK) 524 throws PersistenceNotNullException { 525 checkForNull(itemPK); 526 527 boolean update = true; 528 529 if(this.itemPK != null) { 530 if(this.itemPK.equals(itemPK)) { 531 update = false; 532 } 533 } else if(itemPK == null) { 534 update = false; 535 } 536 537 if(update) { 538 this.itemPK = itemPK; 539 itemPKHasBeenModified = true; 540 clearHashAndString(); 541 } 542 } 543 544 public boolean getItemPKHasBeenModified() { 545 return itemPKHasBeenModified; 546 } 547 548 @Nonnull 549 public InventoryConditionPK getInventoryConditionPK() { 550 return inventoryConditionPK; 551 } 552 553 public void setInventoryConditionPK(@Nonnull InventoryConditionPK inventoryConditionPK) 554 throws PersistenceNotNullException { 555 checkForNull(inventoryConditionPK); 556 557 boolean update = true; 558 559 if(this.inventoryConditionPK != null) { 560 if(this.inventoryConditionPK.equals(inventoryConditionPK)) { 561 update = false; 562 } 563 } else if(inventoryConditionPK == null) { 564 update = false; 565 } 566 567 if(update) { 568 this.inventoryConditionPK = inventoryConditionPK; 569 inventoryConditionPKHasBeenModified = true; 570 clearHashAndString(); 571 } 572 } 573 574 public boolean getInventoryConditionPKHasBeenModified() { 575 return inventoryConditionPKHasBeenModified; 576 } 577 578 @Nonnull 579 public UnitOfMeasureTypePK getUnitOfMeasureTypePK() { 580 return unitOfMeasureTypePK; 581 } 582 583 public void setUnitOfMeasureTypePK(@Nonnull UnitOfMeasureTypePK unitOfMeasureTypePK) 584 throws PersistenceNotNullException { 585 checkForNull(unitOfMeasureTypePK); 586 587 boolean update = true; 588 589 if(this.unitOfMeasureTypePK != null) { 590 if(this.unitOfMeasureTypePK.equals(unitOfMeasureTypePK)) { 591 update = false; 592 } 593 } else if(unitOfMeasureTypePK == null) { 594 update = false; 595 } 596 597 if(update) { 598 this.unitOfMeasureTypePK = unitOfMeasureTypePK; 599 unitOfMeasureTypePKHasBeenModified = true; 600 clearHashAndString(); 601 } 602 } 603 604 public boolean getUnitOfMeasureTypePKHasBeenModified() { 605 return unitOfMeasureTypePKHasBeenModified; 606 } 607 608 @Nonnull 609 public Long getQuantity() { 610 return quantity; 611 } 612 613 public void setQuantity(@Nonnull Long quantity) 614 throws PersistenceNotNullException { 615 checkForNull(quantity); 616 617 boolean update = true; 618 619 if(this.quantity != null) { 620 if(this.quantity.equals(quantity)) { 621 update = false; 622 } 623 } else if(quantity == null) { 624 update = false; 625 } 626 627 if(update) { 628 this.quantity = quantity; 629 quantityHasBeenModified = true; 630 clearHashAndString(); 631 } 632 } 633 634 public boolean getQuantityHasBeenModified() { 635 return quantityHasBeenModified; 636 } 637 638 @Nonnull 639 public Long getFromTime() { 640 return fromTime; 641 } 642 643 public void setFromTime(@Nonnull Long fromTime) 644 throws PersistenceNotNullException { 645 checkForNull(fromTime); 646 647 boolean update = true; 648 649 if(this.fromTime != null) { 650 if(this.fromTime.equals(fromTime)) { 651 update = false; 652 } 653 } else if(fromTime == null) { 654 update = false; 655 } 656 657 if(update) { 658 this.fromTime = fromTime; 659 fromTimeHasBeenModified = true; 660 clearHashAndString(); 661 } 662 } 663 664 public boolean getFromTimeHasBeenModified() { 665 return fromTimeHasBeenModified; 666 } 667 668 @Nonnull 669 public Long getThruTime() { 670 return thruTime; 671 } 672 673 public void setThruTime(@Nonnull Long thruTime) 674 throws PersistenceNotNullException { 675 checkForNull(thruTime); 676 677 boolean update = true; 678 679 if(this.thruTime != null) { 680 if(this.thruTime.equals(thruTime)) { 681 update = false; 682 } 683 } else if(thruTime == null) { 684 update = false; 685 } 686 687 if(update) { 688 this.thruTime = thruTime; 689 thruTimeHasBeenModified = true; 690 clearHashAndString(); 691 } 692 } 693 694 public boolean getThruTimeHasBeenModified() { 695 return thruTimeHasBeenModified; 696 } 697 698}