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 * ContentPageDetailValue.java 021 */ 022 023package com.echothree.model.data.content.server.value; 024 025import com.echothree.model.data.content.common.pk.ContentPageDetailPK; 026 027import com.echothree.model.data.content.server.factory.ContentPageDetailFactory; 028 029import com.echothree.model.data.content.common.pk.ContentPagePK; 030import com.echothree.model.data.content.common.pk.ContentSectionPK; 031import com.echothree.model.data.content.common.pk.ContentPageLayoutPK; 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 040import javax.annotation.Nonnull; 041import javax.annotation.Nullable; 042 043public class ContentPageDetailValue 044 extends BaseValue<ContentPageDetailPK> 045 implements Cloneable, Serializable { 046 047 private ContentPagePK contentPagePK; 048 private boolean contentPagePKHasBeenModified = false; 049 private ContentSectionPK contentSectionPK; 050 private boolean contentSectionPKHasBeenModified = false; 051 private String contentPageName; 052 private boolean contentPageNameHasBeenModified = false; 053 private ContentPageLayoutPK contentPageLayoutPK; 054 private boolean contentPageLayoutPKHasBeenModified = false; 055 private Boolean isDefault; 056 private boolean isDefaultHasBeenModified = false; 057 private Integer sortOrder; 058 private boolean sortOrderHasBeenModified = false; 059 private Long fromTime; 060 private boolean fromTimeHasBeenModified = false; 061 private Long thruTime; 062 private boolean thruTimeHasBeenModified = false; 063 064 private transient Integer _hashCode = null; 065 private transient String _stringValue = null; 066 067 private void constructFields(ContentPagePK contentPagePK, ContentSectionPK contentSectionPK, String contentPageName, ContentPageLayoutPK contentPageLayoutPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 068 throws PersistenceNotNullException { 069 checkForNull(contentPagePK); 070 this.contentPagePK = contentPagePK; 071 checkForNull(contentSectionPK); 072 this.contentSectionPK = contentSectionPK; 073 checkForNull(contentPageName); 074 this.contentPageName = contentPageName; 075 checkForNull(contentPageLayoutPK); 076 this.contentPageLayoutPK = contentPageLayoutPK; 077 checkForNull(isDefault); 078 this.isDefault = isDefault; 079 checkForNull(sortOrder); 080 this.sortOrder = sortOrder; 081 checkForNull(fromTime); 082 this.fromTime = fromTime; 083 checkForNull(thruTime); 084 this.thruTime = thruTime; 085 } 086 087 /** Creates a new instance of ContentPageDetailValue */ 088 public ContentPageDetailValue(ContentPageDetailPK contentPageDetailPK, ContentPagePK contentPagePK, ContentSectionPK contentSectionPK, String contentPageName, ContentPageLayoutPK contentPageLayoutPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 089 throws PersistenceNotNullException { 090 super(contentPageDetailPK); 091 constructFields(contentPagePK, contentSectionPK, contentPageName, contentPageLayoutPK, isDefault, sortOrder, fromTime, thruTime); 092 } 093 094 /** Creates a new instance of ContentPageDetailValue */ 095 public ContentPageDetailValue(ContentPagePK contentPagePK, ContentSectionPK contentSectionPK, String contentPageName, ContentPageLayoutPK contentPageLayoutPK, Boolean isDefault, Integer sortOrder, Long fromTime, Long thruTime) 096 throws PersistenceNotNullException { 097 super(); 098 constructFields(contentPagePK, contentSectionPK, contentPageName, contentPageLayoutPK, isDefault, sortOrder, fromTime, thruTime); 099 } 100 101 @Override 102 @Nonnull 103 public ContentPageDetailFactory getBaseFactoryInstance() { 104 return ContentPageDetailFactory.getInstance(); 105 } 106 107 @Override 108 @Nonnull 109 public ContentPageDetailValue 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 (ContentPageDetailValue)result; 120 } 121 122 @Override 123 @Nonnull 124 public ContentPageDetailPK getPrimaryKey() { 125 if(_primaryKey == null) { 126 _primaryKey = new ContentPageDetailPK(entityId); 127 } 128 129 return _primaryKey; 130 } 131 132 private void clearHashAndString() { 133 _hashCode = null; 134 _stringValue = null; 135 } 136 137 @Override 138 public int hashCode() { 139 if(_hashCode == null) { 140 int hashCode = 17; 141 142 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 143 144 hashCode = 37 * hashCode + ((contentPagePK != null) ? contentPagePK.hashCode() : 0); 145 hashCode = 37 * hashCode + ((contentSectionPK != null) ? contentSectionPK.hashCode() : 0); 146 hashCode = 37 * hashCode + ((contentPageName != null) ? contentPageName.hashCode() : 0); 147 hashCode = 37 * hashCode + ((contentPageLayoutPK != null) ? contentPageLayoutPK.hashCode() : 0); 148 hashCode = 37 * hashCode + ((isDefault != null) ? isDefault.hashCode() : 0); 149 hashCode = 37 * hashCode + ((sortOrder != null) ? sortOrder.hashCode() : 0); 150 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 151 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 152 153 _hashCode = hashCode; 154 } 155 156 return _hashCode; 157 } 158 159 @Override 160 @Nonnull 161 public String toString() { 162 if(_stringValue == null) { 163 _stringValue = "{" + 164 "entityId=" + getEntityId() + 165 ", contentPagePK=" + getContentPagePK() + 166 ", contentSectionPK=" + getContentSectionPK() + 167 ", contentPageName=" + getContentPageName() + 168 ", contentPageLayoutPK=" + getContentPageLayoutPK() + 169 ", isDefault=" + getIsDefault() + 170 ", sortOrder=" + getSortOrder() + 171 ", fromTime=" + getFromTime() + 172 ", thruTime=" + getThruTime() + 173 "}"; 174 } 175 return _stringValue; 176 } 177 178 @Override 179 public boolean equals(Object other) { 180 if(this == other) 181 return true; 182 183 if(!hasIdentity()) 184 return false; 185 186 if(other instanceof ContentPageDetailValue that) { 187 if(!that.hasIdentity()) 188 return false; 189 190 Long thisEntityId = getEntityId(); 191 Long thatEntityId = that.getEntityId(); 192 193 boolean objectsEqual = thisEntityId.equals(thatEntityId); 194 if(objectsEqual) 195 objectsEqual = isIdentical(that); 196 197 return objectsEqual; 198 } else { 199 return false; 200 } 201 } 202 203 public boolean isIdentical(Object other) { 204 if(other instanceof ContentPageDetailValue that) { 205 boolean objectsEqual = true; 206 207 208 if(objectsEqual) { 209 ContentPagePK thisContentPagePK = getContentPagePK(); 210 ContentPagePK thatContentPagePK = that.getContentPagePK(); 211 212 if(thisContentPagePK == null) { 213 objectsEqual = objectsEqual && (thatContentPagePK == null); 214 } else { 215 objectsEqual = objectsEqual && thisContentPagePK.equals(thatContentPagePK); 216 } 217 } 218 219 if(objectsEqual) { 220 ContentSectionPK thisContentSectionPK = getContentSectionPK(); 221 ContentSectionPK thatContentSectionPK = that.getContentSectionPK(); 222 223 if(thisContentSectionPK == null) { 224 objectsEqual = objectsEqual && (thatContentSectionPK == null); 225 } else { 226 objectsEqual = objectsEqual && thisContentSectionPK.equals(thatContentSectionPK); 227 } 228 } 229 230 if(objectsEqual) { 231 String thisContentPageName = getContentPageName(); 232 String thatContentPageName = that.getContentPageName(); 233 234 if(thisContentPageName == null) { 235 objectsEqual = objectsEqual && (thatContentPageName == null); 236 } else { 237 objectsEqual = objectsEqual && thisContentPageName.equals(thatContentPageName); 238 } 239 } 240 241 if(objectsEqual) { 242 ContentPageLayoutPK thisContentPageLayoutPK = getContentPageLayoutPK(); 243 ContentPageLayoutPK thatContentPageLayoutPK = that.getContentPageLayoutPK(); 244 245 if(thisContentPageLayoutPK == null) { 246 objectsEqual = objectsEqual && (thatContentPageLayoutPK == null); 247 } else { 248 objectsEqual = objectsEqual && thisContentPageLayoutPK.equals(thatContentPageLayoutPK); 249 } 250 } 251 252 if(objectsEqual) { 253 Boolean thisIsDefault = getIsDefault(); 254 Boolean thatIsDefault = that.getIsDefault(); 255 256 if(thisIsDefault == null) { 257 objectsEqual = objectsEqual && (thatIsDefault == null); 258 } else { 259 objectsEqual = objectsEqual && thisIsDefault.equals(thatIsDefault); 260 } 261 } 262 263 if(objectsEqual) { 264 Integer thisSortOrder = getSortOrder(); 265 Integer thatSortOrder = that.getSortOrder(); 266 267 if(thisSortOrder == null) { 268 objectsEqual = objectsEqual && (thatSortOrder == null); 269 } else { 270 objectsEqual = objectsEqual && thisSortOrder.equals(thatSortOrder); 271 } 272 } 273 274 if(objectsEqual) { 275 Long thisFromTime = getFromTime(); 276 Long thatFromTime = that.getFromTime(); 277 278 if(thisFromTime == null) { 279 objectsEqual = objectsEqual && (thatFromTime == null); 280 } else { 281 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 282 } 283 } 284 285 if(objectsEqual) { 286 Long thisThruTime = getThruTime(); 287 Long thatThruTime = that.getThruTime(); 288 289 if(thisThruTime == null) { 290 objectsEqual = objectsEqual && (thatThruTime == null); 291 } else { 292 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 293 } 294 } 295 296 return objectsEqual; 297 } else { 298 return false; 299 } 300 } 301 302 @Override 303 public boolean hasBeenModified() { 304 return contentPagePKHasBeenModified || contentSectionPKHasBeenModified || contentPageNameHasBeenModified || contentPageLayoutPKHasBeenModified || isDefaultHasBeenModified || sortOrderHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 305 } 306 307 @Override 308 public void clearHasBeenModified() { 309 contentPagePKHasBeenModified = false; 310 contentSectionPKHasBeenModified = false; 311 contentPageNameHasBeenModified = false; 312 contentPageLayoutPKHasBeenModified = false; 313 isDefaultHasBeenModified = false; 314 sortOrderHasBeenModified = false; 315 fromTimeHasBeenModified = false; 316 thruTimeHasBeenModified = false; 317 } 318 319 @Nonnull 320 public ContentPagePK getContentPagePK() { 321 return contentPagePK; 322 } 323 324 public void setContentPagePK(@Nonnull ContentPagePK contentPagePK) 325 throws PersistenceNotNullException { 326 checkForNull(contentPagePK); 327 328 boolean update = true; 329 330 if(this.contentPagePK != null) { 331 if(this.contentPagePK.equals(contentPagePK)) { 332 update = false; 333 } 334 } else if(contentPagePK == null) { 335 update = false; 336 } 337 338 if(update) { 339 this.contentPagePK = contentPagePK; 340 contentPagePKHasBeenModified = true; 341 clearHashAndString(); 342 } 343 } 344 345 public boolean getContentPagePKHasBeenModified() { 346 return contentPagePKHasBeenModified; 347 } 348 349 @Nonnull 350 public ContentSectionPK getContentSectionPK() { 351 return contentSectionPK; 352 } 353 354 public void setContentSectionPK(@Nonnull ContentSectionPK contentSectionPK) 355 throws PersistenceNotNullException { 356 checkForNull(contentSectionPK); 357 358 boolean update = true; 359 360 if(this.contentSectionPK != null) { 361 if(this.contentSectionPK.equals(contentSectionPK)) { 362 update = false; 363 } 364 } else if(contentSectionPK == null) { 365 update = false; 366 } 367 368 if(update) { 369 this.contentSectionPK = contentSectionPK; 370 contentSectionPKHasBeenModified = true; 371 clearHashAndString(); 372 } 373 } 374 375 public boolean getContentSectionPKHasBeenModified() { 376 return contentSectionPKHasBeenModified; 377 } 378 379 @Nonnull 380 public String getContentPageName() { 381 return contentPageName; 382 } 383 384 public void setContentPageName(@Nonnull String contentPageName) 385 throws PersistenceNotNullException { 386 checkForNull(contentPageName); 387 388 boolean update = true; 389 390 if(this.contentPageName != null) { 391 if(this.contentPageName.equals(contentPageName)) { 392 update = false; 393 } 394 } else if(contentPageName == null) { 395 update = false; 396 } 397 398 if(update) { 399 this.contentPageName = contentPageName; 400 contentPageNameHasBeenModified = true; 401 clearHashAndString(); 402 } 403 } 404 405 public boolean getContentPageNameHasBeenModified() { 406 return contentPageNameHasBeenModified; 407 } 408 409 @Nonnull 410 public ContentPageLayoutPK getContentPageLayoutPK() { 411 return contentPageLayoutPK; 412 } 413 414 public void setContentPageLayoutPK(@Nonnull ContentPageLayoutPK contentPageLayoutPK) 415 throws PersistenceNotNullException { 416 checkForNull(contentPageLayoutPK); 417 418 boolean update = true; 419 420 if(this.contentPageLayoutPK != null) { 421 if(this.contentPageLayoutPK.equals(contentPageLayoutPK)) { 422 update = false; 423 } 424 } else if(contentPageLayoutPK == null) { 425 update = false; 426 } 427 428 if(update) { 429 this.contentPageLayoutPK = contentPageLayoutPK; 430 contentPageLayoutPKHasBeenModified = true; 431 clearHashAndString(); 432 } 433 } 434 435 public boolean getContentPageLayoutPKHasBeenModified() { 436 return contentPageLayoutPKHasBeenModified; 437 } 438 439 @Nonnull 440 public Boolean getIsDefault() { 441 return isDefault; 442 } 443 444 public void setIsDefault(@Nonnull Boolean isDefault) 445 throws PersistenceNotNullException { 446 checkForNull(isDefault); 447 448 boolean update = true; 449 450 if(this.isDefault != null) { 451 if(this.isDefault.equals(isDefault)) { 452 update = false; 453 } 454 } else if(isDefault == null) { 455 update = false; 456 } 457 458 if(update) { 459 this.isDefault = isDefault; 460 isDefaultHasBeenModified = true; 461 clearHashAndString(); 462 } 463 } 464 465 public boolean getIsDefaultHasBeenModified() { 466 return isDefaultHasBeenModified; 467 } 468 469 @Nonnull 470 public Integer getSortOrder() { 471 return sortOrder; 472 } 473 474 public void setSortOrder(@Nonnull Integer sortOrder) 475 throws PersistenceNotNullException { 476 checkForNull(sortOrder); 477 478 boolean update = true; 479 480 if(this.sortOrder != null) { 481 if(this.sortOrder.equals(sortOrder)) { 482 update = false; 483 } 484 } else if(sortOrder == null) { 485 update = false; 486 } 487 488 if(update) { 489 this.sortOrder = sortOrder; 490 sortOrderHasBeenModified = true; 491 clearHashAndString(); 492 } 493 } 494 495 public boolean getSortOrderHasBeenModified() { 496 return sortOrderHasBeenModified; 497 } 498 499 @Nonnull 500 public Long getFromTime() { 501 return fromTime; 502 } 503 504 public void setFromTime(@Nonnull Long fromTime) 505 throws PersistenceNotNullException { 506 checkForNull(fromTime); 507 508 boolean update = true; 509 510 if(this.fromTime != null) { 511 if(this.fromTime.equals(fromTime)) { 512 update = false; 513 } 514 } else if(fromTime == null) { 515 update = false; 516 } 517 518 if(update) { 519 this.fromTime = fromTime; 520 fromTimeHasBeenModified = true; 521 clearHashAndString(); 522 } 523 } 524 525 public boolean getFromTimeHasBeenModified() { 526 return fromTimeHasBeenModified; 527 } 528 529 @Nonnull 530 public Long getThruTime() { 531 return thruTime; 532 } 533 534 public void setThruTime(@Nonnull Long thruTime) 535 throws PersistenceNotNullException { 536 checkForNull(thruTime); 537 538 boolean update = true; 539 540 if(this.thruTime != null) { 541 if(this.thruTime.equals(thruTime)) { 542 update = false; 543 } 544 } else if(thruTime == null) { 545 update = false; 546 } 547 548 if(update) { 549 this.thruTime = thruTime; 550 thruTimeHasBeenModified = true; 551 clearHashAndString(); 552 } 553 } 554 555 public boolean getThruTimeHasBeenModified() { 556 return thruTimeHasBeenModified; 557 } 558 559}