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 * AssociateProgramDetailValue.java 021 */ 022 023package com.echothree.model.data.associate.server.value; 024 025import com.echothree.model.data.associate.common.pk.AssociateProgramDetailPK; 026 027import com.echothree.model.data.associate.server.factory.AssociateProgramDetailFactory; 028 029import com.echothree.model.data.associate.common.pk.AssociateProgramPK; 030import com.echothree.model.data.sequence.common.pk.SequencePK; 031 032import com.echothree.util.common.exception.PersistenceCloneException; 033import com.echothree.util.common.exception.PersistenceNotNullException; 034 035import com.echothree.util.server.persistence.BaseValue; 036 037import java.io.Serializable; 038 039public class AssociateProgramDetailValue 040 extends BaseValue<AssociateProgramDetailPK> 041 implements Cloneable, Serializable { 042 043 private AssociateProgramPK associateProgramPK; 044 private boolean associateProgramPKHasBeenModified = false; 045 private String associateProgramName; 046 private boolean associateProgramNameHasBeenModified = false; 047 private SequencePK associateSequencePK; 048 private boolean associateSequencePKHasBeenModified = false; 049 private SequencePK associatePartyContactMechanismSequencePK; 050 private boolean associatePartyContactMechanismSequencePKHasBeenModified = false; 051 private SequencePK associateReferralSequencePK; 052 private boolean associateReferralSequencePKHasBeenModified = false; 053 private Integer itemIndirectSalePercent; 054 private boolean itemIndirectSalePercentHasBeenModified = false; 055 private Integer itemDirectSalePercent; 056 private boolean itemDirectSalePercentHasBeenModified = false; 057 private Boolean isDefault; 058 private boolean isDefaultHasBeenModified = false; 059 private Integer sortOrder; 060 private boolean sortOrderHasBeenModified = false; 061 private Long fromTime; 062 private boolean fromTimeHasBeenModified = false; 063 private Long thruTime; 064 private boolean thruTimeHasBeenModified = false; 065 066 private transient Integer _hashCode = null; 067 private transient String _stringValue = null; 068 069 private void constructFields(AssociateProgramPK associateProgramPK, String associateProgramName, SequencePK associateSequencePK, SequencePK associatePartyContactMechanismSequencePK, SequencePK associateReferralSequencePK, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 070 throws PersistenceNotNullException { 071 this.associateProgramPK = associateProgramPK; 072 checkForNull(associateProgramName); 073 this.associateProgramName = associateProgramName; 074 this.associateSequencePK = associateSequencePK; 075 this.associatePartyContactMechanismSequencePK = associatePartyContactMechanismSequencePK; 076 this.associateReferralSequencePK = associateReferralSequencePK; 077 this.itemIndirectSalePercent = itemIndirectSalePercent; 078 this.itemDirectSalePercent = itemDirectSalePercent; 079 checkForNull(isDefault); 080 this.isDefault = isDefault; 081 checkForNull(sortOrder); 082 this.sortOrder = sortOrder; 083 checkForNull(fromTime); 084 this.fromTime = fromTime; 085 checkForNull(thruTime); 086 this.thruTime = thruTime; 087 } 088 089 /** Creates a new instance of AssociateProgramDetailValue */ 090 public AssociateProgramDetailValue(AssociateProgramDetailPK associateProgramDetailPK, AssociateProgramPK associateProgramPK, String associateProgramName, SequencePK associateSequencePK, SequencePK associatePartyContactMechanismSequencePK, SequencePK associateReferralSequencePK, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 091 throws PersistenceNotNullException { 092 super(associateProgramDetailPK); 093 constructFields(associateProgramPK, associateProgramName, associateSequencePK, associatePartyContactMechanismSequencePK, associateReferralSequencePK, itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 094 } 095 096 /** Creates a new instance of AssociateProgramDetailValue */ 097 public AssociateProgramDetailValue(AssociateProgramPK associateProgramPK, String associateProgramName, SequencePK associateSequencePK, SequencePK associatePartyContactMechanismSequencePK, SequencePK associateReferralSequencePK, Integer itemIndirectSalePercent, Integer itemDirectSalePercent, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 098 throws PersistenceNotNullException { 099 super(); 100 constructFields(associateProgramPK, associateProgramName, associateSequencePK, associatePartyContactMechanismSequencePK, associateReferralSequencePK, itemIndirectSalePercent, itemDirectSalePercent, isDefault, sortOrder, fromTime, thruTime); 101 } 102 103 @Override 104 public AssociateProgramDetailFactory getBaseFactoryInstance() { 105 return AssociateProgramDetailFactory.getInstance(); 106 } 107 108 @Override 109 public AssociateProgramDetailValue clone() { 110 Object result; 111 112 try { 113 result = super.clone(); 114 } catch (CloneNotSupportedException cnse) { 115 // This shouldn't happen, fail when it does. 116 throw new PersistenceCloneException(cnse); 117 } 118 119 return (AssociateProgramDetailValue)result; 120 } 121 122 @Override 123 public AssociateProgramDetailPK getPrimaryKey() { 124 if(_primaryKey == null) { 125 _primaryKey = new AssociateProgramDetailPK(entityId); 126 } 127 128 return _primaryKey; 129 } 130 131 private void clearHashAndString() { 132 _hashCode = null; 133 _stringValue = null; 134 } 135 136 @Override 137 public int hashCode() { 138 if(_hashCode == null) { 139 int hashCode = 17; 140 141 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 142 143 hashCode = 37 * hashCode + ((associateProgramPK != null) ? associateProgramPK.hashCode() : 0); 144 hashCode = 37 * hashCode + ((associateProgramName != null) ? associateProgramName.hashCode() : 0); 145 hashCode = 37 * hashCode + ((associateSequencePK != null) ? associateSequencePK.hashCode() : 0); 146 hashCode = 37 * hashCode + ((associatePartyContactMechanismSequencePK != null) ? associatePartyContactMechanismSequencePK.hashCode() : 0); 147 hashCode = 37 * hashCode + ((associateReferralSequencePK != null) ? associateReferralSequencePK.hashCode() : 0); 148 hashCode = 37 * hashCode + ((itemIndirectSalePercent != null) ? itemIndirectSalePercent.hashCode() : 0); 149 hashCode = 37 * hashCode + ((itemDirectSalePercent != null) ? itemDirectSalePercent.hashCode() : 0); 150 hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0); 151 hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0); 152 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 153 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 154 155 _hashCode = hashCode; 156 } 157 158 return _hashCode; 159 } 160 161 @Override 162 public String toString() { 163 if(_stringValue == null) { 164 _stringValue = "{" + 165 "entityId=" + getEntityId() + 166 ", associateProgramPK=" + getAssociateProgramPK() + 167 ", associateProgramName=" + getAssociateProgramName() + 168 ", associateSequencePK=" + getAssociateSequencePK() + 169 ", associatePartyContactMechanismSequencePK=" + getAssociatePartyContactMechanismSequencePK() + 170 ", associateReferralSequencePK=" + getAssociateReferralSequencePK() + 171 ", itemIndirectSalePercent=" + getItemIndirectSalePercent() + 172 ", itemDirectSalePercent=" + getItemDirectSalePercent() + 173 ", isDefault=" + getIsDefault() + 174 ", sortOrder=" + getSortOrder() + 175 ", fromTime=" + getFromTime() + 176 ", thruTime=" + getThruTime() + 177 "}"; 178 } 179 return _stringValue; 180 } 181 182 @Override 183 public boolean equals(Object other) { 184 if(this == other) 185 return true; 186 187 if(!hasIdentity()) 188 return false; 189 190 if(other instanceof AssociateProgramDetailValue that) { 191 if(!that.hasIdentity()) 192 return false; 193 194 Long thisEntityId = getEntityId(); 195 Long thatEntityId = that.getEntityId(); 196 197 boolean objectsEqual = thisEntityId.equals(thatEntityId); 198 if(objectsEqual) 199 objectsEqual = isIdentical(that); 200 201 return objectsEqual; 202 } else { 203 return false; 204 } 205 } 206 207 public boolean isIdentical(Object other) { 208 if(other instanceof AssociateProgramDetailValue that) { 209 boolean objectsEqual = true; 210 211 212 if(objectsEqual) { 213 AssociateProgramPK thisAssociateProgramPK = getAssociateProgramPK(); 214 AssociateProgramPK thatAssociateProgramPK = that.getAssociateProgramPK(); 215 216 if(thisAssociateProgramPK == null) { 217 objectsEqual = objectsEqual && (thatAssociateProgramPK == null); 218 } else { 219 objectsEqual = objectsEqual && thisAssociateProgramPK.equals(thatAssociateProgramPK); 220 } 221 } 222 223 if(objectsEqual) { 224 String thisAssociateProgramName = getAssociateProgramName(); 225 String thatAssociateProgramName = that.getAssociateProgramName(); 226 227 if(thisAssociateProgramName == null) { 228 objectsEqual = objectsEqual && (thatAssociateProgramName == null); 229 } else { 230 objectsEqual = objectsEqual && thisAssociateProgramName.equals(thatAssociateProgramName); 231 } 232 } 233 234 if(objectsEqual) { 235 SequencePK thisAssociateSequencePK = getAssociateSequencePK(); 236 SequencePK thatAssociateSequencePK = that.getAssociateSequencePK(); 237 238 if(thisAssociateSequencePK == null) { 239 objectsEqual = objectsEqual && (thatAssociateSequencePK == null); 240 } else { 241 objectsEqual = objectsEqual && thisAssociateSequencePK.equals(thatAssociateSequencePK); 242 } 243 } 244 245 if(objectsEqual) { 246 SequencePK thisAssociatePartyContactMechanismSequencePK = getAssociatePartyContactMechanismSequencePK(); 247 SequencePK thatAssociatePartyContactMechanismSequencePK = that.getAssociatePartyContactMechanismSequencePK(); 248 249 if(thisAssociatePartyContactMechanismSequencePK == null) { 250 objectsEqual = objectsEqual && (thatAssociatePartyContactMechanismSequencePK == null); 251 } else { 252 objectsEqual = objectsEqual && thisAssociatePartyContactMechanismSequencePK.equals(thatAssociatePartyContactMechanismSequencePK); 253 } 254 } 255 256 if(objectsEqual) { 257 SequencePK thisAssociateReferralSequencePK = getAssociateReferralSequencePK(); 258 SequencePK thatAssociateReferralSequencePK = that.getAssociateReferralSequencePK(); 259 260 if(thisAssociateReferralSequencePK == null) { 261 objectsEqual = objectsEqual && (thatAssociateReferralSequencePK == null); 262 } else { 263 objectsEqual = objectsEqual && thisAssociateReferralSequencePK.equals(thatAssociateReferralSequencePK); 264 } 265 } 266 267 if(objectsEqual) { 268 Integer thisItemIndirectSalePercent = getItemIndirectSalePercent(); 269 Integer thatItemIndirectSalePercent = that.getItemIndirectSalePercent(); 270 271 if(thisItemIndirectSalePercent == null) { 272 objectsEqual = objectsEqual && (thatItemIndirectSalePercent == null); 273 } else { 274 objectsEqual = objectsEqual && thisItemIndirectSalePercent.equals(thatItemIndirectSalePercent); 275 } 276 } 277 278 if(objectsEqual) { 279 Integer thisItemDirectSalePercent = getItemDirectSalePercent(); 280 Integer thatItemDirectSalePercent = that.getItemDirectSalePercent(); 281 282 if(thisItemDirectSalePercent == null) { 283 objectsEqual = objectsEqual && (thatItemDirectSalePercent == null); 284 } else { 285 objectsEqual = objectsEqual && thisItemDirectSalePercent.equals(thatItemDirectSalePercent); 286 } 287 } 288 289 if(objectsEqual) { 290 Boolean thisIsDefault = getIsDefault(); 291 Boolean thatIsDefault = that.getIsDefault(); 292 293 if(thisIsDefault == null) { 294 objectsEqual = objectsEqual && (thatIsDefault == null); 295 } else { 296 objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault); 297 } 298 } 299 300 if(objectsEqual) { 301 Integer thisSortOrder = getSortOrder(); 302 Integer thatSortOrder = that.getSortOrder(); 303 304 if(thisSortOrder == null) { 305 objectsEqual = objectsEqual && (thatSortOrder == null); 306 } else { 307 objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder); 308 } 309 } 310 311 if(objectsEqual) { 312 Long thisFromTime = getFromTime(); 313 Long thatFromTime = that.getFromTime(); 314 315 if(thisFromTime == null) { 316 objectsEqual = objectsEqual && (thatFromTime == null); 317 } else { 318 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 319 } 320 } 321 322 if(objectsEqual) { 323 Long thisThruTime = getThruTime(); 324 Long thatThruTime = that.getThruTime(); 325 326 if(thisThruTime == null) { 327 objectsEqual = objectsEqual && (thatThruTime == null); 328 } else { 329 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 330 } 331 } 332 333 return objectsEqual; 334 } else { 335 return false; 336 } 337 } 338 339 @Override 340 public boolean hasBeenModified() { 341 return associateProgramPKHasBeenModified || associateProgramNameHasBeenModified || associateSequencePKHasBeenModified || associatePartyContactMechanismSequencePKHasBeenModified || associateReferralSequencePKHasBeenModified || itemIndirectSalePercentHasBeenModified || itemDirectSalePercentHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 342 } 343 344 @Override 345 public void clearHasBeenModified() { 346 associateProgramPKHasBeenModified = false; 347 associateProgramNameHasBeenModified = false; 348 associateSequencePKHasBeenModified = false; 349 associatePartyContactMechanismSequencePKHasBeenModified = false; 350 associateReferralSequencePKHasBeenModified = false; 351 itemIndirectSalePercentHasBeenModified = false; 352 itemDirectSalePercentHasBeenModified = false; 353 isDefaultHasBeenModified = false; 354 sortOrderHasBeenModified = false; 355 fromTimeHasBeenModified = false; 356 thruTimeHasBeenModified = false; 357 } 358 359 public AssociateProgramPK getAssociateProgramPK() { 360 return associateProgramPK; 361 } 362 363 public void setAssociateProgramPK(AssociateProgramPK associateProgramPK) { 364 boolean update = true; 365 366 if(this.associateProgramPK != null) { 367 if(this.associateProgramPK.equals(associateProgramPK)) { 368 update = false; 369 } 370 } else if(associateProgramPK == null) { 371 update = false; 372 } 373 374 if(update) { 375 this.associateProgramPK = associateProgramPK; 376 associateProgramPKHasBeenModified = true; 377 clearHashAndString(); 378 } 379 } 380 381 public boolean getAssociateProgramPKHasBeenModified() { 382 return associateProgramPKHasBeenModified; 383 } 384 385 public String getAssociateProgramName() { 386 return associateProgramName; 387 } 388 389 public void setAssociateProgramName(String associateProgramName) 390 throws PersistenceNotNullException { 391 checkForNull(associateProgramName); 392 393 boolean update = true; 394 395 if(this.associateProgramName != null) { 396 if(this.associateProgramName.equals(associateProgramName)) { 397 update = false; 398 } 399 } else if(associateProgramName == null) { 400 update = false; 401 } 402 403 if(update) { 404 this.associateProgramName = associateProgramName; 405 associateProgramNameHasBeenModified = true; 406 clearHashAndString(); 407 } 408 } 409 410 public boolean getAssociateProgramNameHasBeenModified() { 411 return associateProgramNameHasBeenModified; 412 } 413 414 public SequencePK getAssociateSequencePK() { 415 return associateSequencePK; 416 } 417 418 public void setAssociateSequencePK(SequencePK associateSequencePK) { 419 boolean update = true; 420 421 if(this.associateSequencePK != null) { 422 if(this.associateSequencePK.equals(associateSequencePK)) { 423 update = false; 424 } 425 } else if(associateSequencePK == null) { 426 update = false; 427 } 428 429 if(update) { 430 this.associateSequencePK = associateSequencePK; 431 associateSequencePKHasBeenModified = true; 432 clearHashAndString(); 433 } 434 } 435 436 public boolean getAssociateSequencePKHasBeenModified() { 437 return associateSequencePKHasBeenModified; 438 } 439 440 public SequencePK getAssociatePartyContactMechanismSequencePK() { 441 return associatePartyContactMechanismSequencePK; 442 } 443 444 public void setAssociatePartyContactMechanismSequencePK(SequencePK associatePartyContactMechanismSequencePK) { 445 boolean update = true; 446 447 if(this.associatePartyContactMechanismSequencePK != null) { 448 if(this.associatePartyContactMechanismSequencePK.equals(associatePartyContactMechanismSequencePK)) { 449 update = false; 450 } 451 } else if(associatePartyContactMechanismSequencePK == null) { 452 update = false; 453 } 454 455 if(update) { 456 this.associatePartyContactMechanismSequencePK = associatePartyContactMechanismSequencePK; 457 associatePartyContactMechanismSequencePKHasBeenModified = true; 458 clearHashAndString(); 459 } 460 } 461 462 public boolean getAssociatePartyContactMechanismSequencePKHasBeenModified() { 463 return associatePartyContactMechanismSequencePKHasBeenModified; 464 } 465 466 public SequencePK getAssociateReferralSequencePK() { 467 return associateReferralSequencePK; 468 } 469 470 public void setAssociateReferralSequencePK(SequencePK associateReferralSequencePK) { 471 boolean update = true; 472 473 if(this.associateReferralSequencePK != null) { 474 if(this.associateReferralSequencePK.equals(associateReferralSequencePK)) { 475 update = false; 476 } 477 } else if(associateReferralSequencePK == null) { 478 update = false; 479 } 480 481 if(update) { 482 this.associateReferralSequencePK = associateReferralSequencePK; 483 associateReferralSequencePKHasBeenModified = true; 484 clearHashAndString(); 485 } 486 } 487 488 public boolean getAssociateReferralSequencePKHasBeenModified() { 489 return associateReferralSequencePKHasBeenModified; 490 } 491 492 public Integer getItemIndirectSalePercent() { 493 return itemIndirectSalePercent; 494 } 495 496 public void setItemIndirectSalePercent(Integer itemIndirectSalePercent) { 497 boolean update = true; 498 499 if(this.itemIndirectSalePercent != null) { 500 if(this.itemIndirectSalePercent.equals(itemIndirectSalePercent)) { 501 update = false; 502 } 503 } else if(itemIndirectSalePercent == null) { 504 update = false; 505 } 506 507 if(update) { 508 this.itemIndirectSalePercent = itemIndirectSalePercent; 509 itemIndirectSalePercentHasBeenModified = true; 510 clearHashAndString(); 511 } 512 } 513 514 public boolean getItemIndirectSalePercentHasBeenModified() { 515 return itemIndirectSalePercentHasBeenModified; 516 } 517 518 public Integer getItemDirectSalePercent() { 519 return itemDirectSalePercent; 520 } 521 522 public void setItemDirectSalePercent(Integer itemDirectSalePercent) { 523 boolean update = true; 524 525 if(this.itemDirectSalePercent != null) { 526 if(this.itemDirectSalePercent.equals(itemDirectSalePercent)) { 527 update = false; 528 } 529 } else if(itemDirectSalePercent == null) { 530 update = false; 531 } 532 533 if(update) { 534 this.itemDirectSalePercent = itemDirectSalePercent; 535 itemDirectSalePercentHasBeenModified = true; 536 clearHashAndString(); 537 } 538 } 539 540 public boolean getItemDirectSalePercentHasBeenModified() { 541 return itemDirectSalePercentHasBeenModified; 542 } 543 544 public Boolean getIsDefault() { 545 return isDefault; 546 } 547 548 public void setIsDefault(Boolean isDefault) 549 throws PersistenceNotNullException { 550 checkForNull(isDefault); 551 552 boolean update = true; 553 554 if(this.isDefault != null) { 555 if(this.isDefault.equals(isDefault)) { 556 update = false; 557 } 558 } else if(isDefault == null) { 559 update = false; 560 } 561 562 if(update) { 563 this.isDefault = isDefault; 564 isDefaultHasBeenModified = true; 565 clearHashAndString(); 566 } 567 } 568 569 public boolean getIsDefaultHasBeenModified() { 570 return isDefaultHasBeenModified; 571 } 572 573 public Integer getSortOrder() { 574 return sortOrder; 575 } 576 577 public void setSortOrder(Integer sortOrder) 578 throws PersistenceNotNullException { 579 checkForNull(sortOrder); 580 581 boolean update = true; 582 583 if(this.sortOrder != null) { 584 if(this.sortOrder.equals(sortOrder)) { 585 update = false; 586 } 587 } else if(sortOrder == null) { 588 update = false; 589 } 590 591 if(update) { 592 this.sortOrder = sortOrder; 593 sortOrderHasBeenModified = true; 594 clearHashAndString(); 595 } 596 } 597 598 public boolean getSortOrderHasBeenModified() { 599 return sortOrderHasBeenModified; 600 } 601 602 public Long getFromTime() { 603 return fromTime; 604 } 605 606 public void setFromTime(Long fromTime) 607 throws PersistenceNotNullException { 608 checkForNull(fromTime); 609 610 boolean update = true; 611 612 if(this.fromTime != null) { 613 if(this.fromTime.equals(fromTime)) { 614 update = false; 615 } 616 } else if(fromTime == null) { 617 update = false; 618 } 619 620 if(update) { 621 this.fromTime = fromTime; 622 fromTimeHasBeenModified = true; 623 clearHashAndString(); 624 } 625 } 626 627 public boolean getFromTimeHasBeenModified() { 628 return fromTimeHasBeenModified; 629 } 630 631 public Long getThruTime() { 632 return thruTime; 633 } 634 635 public void setThruTime(Long thruTime) 636 throws PersistenceNotNullException { 637 checkForNull(thruTime); 638 639 boolean update = true; 640 641 if(this.thruTime != null) { 642 if(this.thruTime.equals(thruTime)) { 643 update = false; 644 } 645 } else if(thruTime == null) { 646 update = false; 647 } 648 649 if(update) { 650 this.thruTime = thruTime; 651 thruTimeHasBeenModified = true; 652 clearHashAndString(); 653 } 654 } 655 656 public boolean getThruTimeHasBeenModified() { 657 return thruTimeHasBeenModified; 658 } 659 660}