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