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 * UnitOfMeasureEquivalentValue.java 021 */ 022 023package com.echothree.model.data.uom.server.value; 024 025import com.echothree.model.data.uom.common.pk.UnitOfMeasureEquivalentPK; 026 027import com.echothree.model.data.uom.server.factory.UnitOfMeasureEquivalentFactory; 028 029import com.echothree.model.data.uom.common.pk.UnitOfMeasureTypePK; 030 031import com.echothree.util.common.exception.PersistenceCloneException; 032import com.echothree.util.common.exception.PersistenceNotNullException; 033 034import com.echothree.util.server.persistence.BaseValue; 035 036import java.io.Serializable; 037 038import javax.annotation.Nonnull; 039import javax.annotation.Nullable; 040 041public class UnitOfMeasureEquivalentValue 042 extends BaseValue<UnitOfMeasureEquivalentPK> 043 implements Cloneable, Serializable { 044 045 private UnitOfMeasureTypePK fromUnitOfMeasureTypePK; 046 private boolean fromUnitOfMeasureTypePKHasBeenModified = false; 047 private UnitOfMeasureTypePK toUnitOfMeasureTypePK; 048 private boolean toUnitOfMeasureTypePKHasBeenModified = false; 049 private Long toQuantity; 050 private boolean toQuantityHasBeenModified = false; 051 private Long fromTime; 052 private boolean fromTimeHasBeenModified = false; 053 private Long thruTime; 054 private boolean thruTimeHasBeenModified = false; 055 056 private transient Integer _hashCode = null; 057 private transient String _stringValue = null; 058 059 private void constructFields(UnitOfMeasureTypePK fromUnitOfMeasureTypePK, UnitOfMeasureTypePK toUnitOfMeasureTypePK, Long toQuantity, Long fromTime, Long thruTime) 060 throws PersistenceNotNullException { 061 checkForNull(fromUnitOfMeasureTypePK); 062 this.fromUnitOfMeasureTypePK = fromUnitOfMeasureTypePK; 063 checkForNull(toUnitOfMeasureTypePK); 064 this.toUnitOfMeasureTypePK = toUnitOfMeasureTypePK; 065 checkForNull(toQuantity); 066 this.toQuantity = toQuantity; 067 checkForNull(fromTime); 068 this.fromTime = fromTime; 069 checkForNull(thruTime); 070 this.thruTime = thruTime; 071 } 072 073 /** Creates a new instance of UnitOfMeasureEquivalentValue */ 074 public UnitOfMeasureEquivalentValue(UnitOfMeasureEquivalentPK unitOfMeasureEquivalentPK, UnitOfMeasureTypePK fromUnitOfMeasureTypePK, UnitOfMeasureTypePK toUnitOfMeasureTypePK, Long toQuantity, Long fromTime, Long thruTime) 075 throws PersistenceNotNullException { 076 super(unitOfMeasureEquivalentPK); 077 constructFields(fromUnitOfMeasureTypePK, toUnitOfMeasureTypePK, toQuantity, fromTime, thruTime); 078 } 079 080 /** Creates a new instance of UnitOfMeasureEquivalentValue */ 081 public UnitOfMeasureEquivalentValue(UnitOfMeasureTypePK fromUnitOfMeasureTypePK, UnitOfMeasureTypePK toUnitOfMeasureTypePK, Long toQuantity, Long fromTime, Long thruTime) 082 throws PersistenceNotNullException { 083 super(); 084 constructFields(fromUnitOfMeasureTypePK, toUnitOfMeasureTypePK, toQuantity, fromTime, thruTime); 085 } 086 087 @Override 088 @Nonnull 089 public UnitOfMeasureEquivalentFactory getBaseFactoryInstance() { 090 return UnitOfMeasureEquivalentFactory.getInstance(); 091 } 092 093 @Override 094 @Nonnull 095 public UnitOfMeasureEquivalentValue clone() { 096 Object result; 097 098 try { 099 result = super.clone(); 100 } catch (CloneNotSupportedException cnse) { 101 // This shouldn't happen, fail when it does. 102 throw new PersistenceCloneException(cnse); 103 } 104 105 return (UnitOfMeasureEquivalentValue)result; 106 } 107 108 @Override 109 @Nonnull 110 public UnitOfMeasureEquivalentPK getPrimaryKey() { 111 if(_primaryKey == null) { 112 _primaryKey = new UnitOfMeasureEquivalentPK(entityId); 113 } 114 115 return _primaryKey; 116 } 117 118 private void clearHashAndString() { 119 _hashCode = null; 120 _stringValue = null; 121 } 122 123 @Override 124 public int hashCode() { 125 if(_hashCode == null) { 126 int hashCode = 17; 127 128 hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0); 129 130 hashCode = 37 * hashCode + ((fromUnitOfMeasureTypePK != null) ? fromUnitOfMeasureTypePK.hashCode() : 0); 131 hashCode = 37 * hashCode + ((toUnitOfMeasureTypePK != null) ? toUnitOfMeasureTypePK.hashCode() : 0); 132 hashCode = 37 * hashCode + ((toQuantity != null) ? toQuantity.hashCode() : 0); 133 hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0); 134 hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0); 135 136 _hashCode = hashCode; 137 } 138 139 return _hashCode; 140 } 141 142 @Override 143 @Nonnull 144 public String toString() { 145 if(_stringValue == null) { 146 _stringValue = "{" + 147 "entityId=" + getEntityId() + 148 ", fromUnitOfMeasureTypePK=" + getFromUnitOfMeasureTypePK() + 149 ", toUnitOfMeasureTypePK=" + getToUnitOfMeasureTypePK() + 150 ", toQuantity=" + getToQuantity() + 151 ", fromTime=" + getFromTime() + 152 ", thruTime=" + getThruTime() + 153 "}"; 154 } 155 return _stringValue; 156 } 157 158 @Override 159 public boolean equals(Object other) { 160 if(this == other) 161 return true; 162 163 if(!hasIdentity()) 164 return false; 165 166 if(other instanceof UnitOfMeasureEquivalentValue that) { 167 if(!that.hasIdentity()) 168 return false; 169 170 Long thisEntityId = getEntityId(); 171 Long thatEntityId = that.getEntityId(); 172 173 boolean objectsEqual = thisEntityId.equals(thatEntityId); 174 if(objectsEqual) 175 objectsEqual = isIdentical(that); 176 177 return objectsEqual; 178 } else { 179 return false; 180 } 181 } 182 183 public boolean isIdentical(Object other) { 184 if(other instanceof UnitOfMeasureEquivalentValue that) { 185 boolean objectsEqual = true; 186 187 188 if(objectsEqual) { 189 UnitOfMeasureTypePK thisFromUnitOfMeasureTypePK = getFromUnitOfMeasureTypePK(); 190 UnitOfMeasureTypePK thatFromUnitOfMeasureTypePK = that.getFromUnitOfMeasureTypePK(); 191 192 if(thisFromUnitOfMeasureTypePK == null) { 193 objectsEqual = objectsEqual && (thatFromUnitOfMeasureTypePK == null); 194 } else { 195 objectsEqual = objectsEqual && thisFromUnitOfMeasureTypePK.equals(thatFromUnitOfMeasureTypePK); 196 } 197 } 198 199 if(objectsEqual) { 200 UnitOfMeasureTypePK thisToUnitOfMeasureTypePK = getToUnitOfMeasureTypePK(); 201 UnitOfMeasureTypePK thatToUnitOfMeasureTypePK = that.getToUnitOfMeasureTypePK(); 202 203 if(thisToUnitOfMeasureTypePK == null) { 204 objectsEqual = objectsEqual && (thatToUnitOfMeasureTypePK == null); 205 } else { 206 objectsEqual = objectsEqual && thisToUnitOfMeasureTypePK.equals(thatToUnitOfMeasureTypePK); 207 } 208 } 209 210 if(objectsEqual) { 211 Long thisToQuantity = getToQuantity(); 212 Long thatToQuantity = that.getToQuantity(); 213 214 if(thisToQuantity == null) { 215 objectsEqual = objectsEqual && (thatToQuantity == null); 216 } else { 217 objectsEqual = objectsEqual && thisToQuantity.equals(thatToQuantity); 218 } 219 } 220 221 if(objectsEqual) { 222 Long thisFromTime = getFromTime(); 223 Long thatFromTime = that.getFromTime(); 224 225 if(thisFromTime == null) { 226 objectsEqual = objectsEqual && (thatFromTime == null); 227 } else { 228 objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime); 229 } 230 } 231 232 if(objectsEqual) { 233 Long thisThruTime = getThruTime(); 234 Long thatThruTime = that.getThruTime(); 235 236 if(thisThruTime == null) { 237 objectsEqual = objectsEqual && (thatThruTime == null); 238 } else { 239 objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime); 240 } 241 } 242 243 return objectsEqual; 244 } else { 245 return false; 246 } 247 } 248 249 @Override 250 public boolean hasBeenModified() { 251 return fromUnitOfMeasureTypePKHasBeenModified || toUnitOfMeasureTypePKHasBeenModified || toQuantityHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified; 252 } 253 254 @Override 255 public void clearHasBeenModified() { 256 fromUnitOfMeasureTypePKHasBeenModified = false; 257 toUnitOfMeasureTypePKHasBeenModified = false; 258 toQuantityHasBeenModified = false; 259 fromTimeHasBeenModified = false; 260 thruTimeHasBeenModified = false; 261 } 262 263 @Nonnull 264 public UnitOfMeasureTypePK getFromUnitOfMeasureTypePK() { 265 return fromUnitOfMeasureTypePK; 266 } 267 268 public void setFromUnitOfMeasureTypePK(@Nonnull UnitOfMeasureTypePK fromUnitOfMeasureTypePK) 269 throws PersistenceNotNullException { 270 checkForNull(fromUnitOfMeasureTypePK); 271 272 boolean update = true; 273 274 if(this.fromUnitOfMeasureTypePK != null) { 275 if(this.fromUnitOfMeasureTypePK.equals(fromUnitOfMeasureTypePK)) { 276 update = false; 277 } 278 } else if(fromUnitOfMeasureTypePK == null) { 279 update = false; 280 } 281 282 if(update) { 283 this.fromUnitOfMeasureTypePK = fromUnitOfMeasureTypePK; 284 fromUnitOfMeasureTypePKHasBeenModified = true; 285 clearHashAndString(); 286 } 287 } 288 289 public boolean getFromUnitOfMeasureTypePKHasBeenModified() { 290 return fromUnitOfMeasureTypePKHasBeenModified; 291 } 292 293 @Nonnull 294 public UnitOfMeasureTypePK getToUnitOfMeasureTypePK() { 295 return toUnitOfMeasureTypePK; 296 } 297 298 public void setToUnitOfMeasureTypePK(@Nonnull UnitOfMeasureTypePK toUnitOfMeasureTypePK) 299 throws PersistenceNotNullException { 300 checkForNull(toUnitOfMeasureTypePK); 301 302 boolean update = true; 303 304 if(this.toUnitOfMeasureTypePK != null) { 305 if(this.toUnitOfMeasureTypePK.equals(toUnitOfMeasureTypePK)) { 306 update = false; 307 } 308 } else if(toUnitOfMeasureTypePK == null) { 309 update = false; 310 } 311 312 if(update) { 313 this.toUnitOfMeasureTypePK = toUnitOfMeasureTypePK; 314 toUnitOfMeasureTypePKHasBeenModified = true; 315 clearHashAndString(); 316 } 317 } 318 319 public boolean getToUnitOfMeasureTypePKHasBeenModified() { 320 return toUnitOfMeasureTypePKHasBeenModified; 321 } 322 323 @Nonnull 324 public Long getToQuantity() { 325 return toQuantity; 326 } 327 328 public void setToQuantity(@Nonnull Long toQuantity) 329 throws PersistenceNotNullException { 330 checkForNull(toQuantity); 331 332 boolean update = true; 333 334 if(this.toQuantity != null) { 335 if(this.toQuantity.equals(toQuantity)) { 336 update = false; 337 } 338 } else if(toQuantity == null) { 339 update = false; 340 } 341 342 if(update) { 343 this.toQuantity = toQuantity; 344 toQuantityHasBeenModified = true; 345 clearHashAndString(); 346 } 347 } 348 349 public boolean getToQuantityHasBeenModified() { 350 return toQuantityHasBeenModified; 351 } 352 353 @Nonnull 354 public Long getFromTime() { 355 return fromTime; 356 } 357 358 public void setFromTime(@Nonnull Long fromTime) 359 throws PersistenceNotNullException { 360 checkForNull(fromTime); 361 362 boolean update = true; 363 364 if(this.fromTime != null) { 365 if(this.fromTime.equals(fromTime)) { 366 update = false; 367 } 368 } else if(fromTime == null) { 369 update = false; 370 } 371 372 if(update) { 373 this.fromTime = fromTime; 374 fromTimeHasBeenModified = true; 375 clearHashAndString(); 376 } 377 } 378 379 public boolean getFromTimeHasBeenModified() { 380 return fromTimeHasBeenModified; 381 } 382 383 @Nonnull 384 public Long getThruTime() { 385 return thruTime; 386 } 387 388 public void setThruTime(@Nonnull Long thruTime) 389 throws PersistenceNotNullException { 390 checkForNull(thruTime); 391 392 boolean update = true; 393 394 if(this.thruTime != null) { 395 if(this.thruTime.equals(thruTime)) { 396 update = false; 397 } 398 } else if(thruTime == null) { 399 update = false; 400 } 401 402 if(update) { 403 this.thruTime = thruTime; 404 thruTimeHasBeenModified = true; 405 clearHashAndString(); 406 } 407 } 408 409 public boolean getThruTimeHasBeenModified() { 410 return thruTimeHasBeenModified; 411 } 412 413}