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 * OrderLineDetailValue.java
021 */
022
023package com.echothree.model.data.order.server.value;
024
025import com.echothree.model.data.order.common.pk.OrderLineDetailPK;
026
027import com.echothree.model.data.order.server.factory.OrderLineDetailFactory;
028
029import com.echothree.model.data.order.common.pk.OrderLinePK;
030import com.echothree.model.data.order.common.pk.OrderPK;
031import com.echothree.model.data.order.common.pk.OrderShipmentGroupPK;
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;
035import com.echothree.model.data.cancellationpolicy.common.pk.CancellationPolicyPK;
036import com.echothree.model.data.returnpolicy.common.pk.ReturnPolicyPK;
037
038import com.echothree.util.common.exception.PersistenceCloneException;
039import com.echothree.util.common.exception.PersistenceNotNullException;
040
041import com.echothree.util.server.persistence.BaseValue;
042
043import java.io.Serializable;
044
045import javax.annotation.Nonnull;
046import javax.annotation.Nullable;
047
048public class OrderLineDetailValue
049        extends BaseValue<OrderLineDetailPK>
050        implements Cloneable, Serializable {
051    
052    private OrderLinePK orderLinePK;
053    private boolean orderLinePKHasBeenModified = false;
054    private OrderPK orderPK;
055    private boolean orderPKHasBeenModified = false;
056    private Integer orderLineSequence;
057    private boolean orderLineSequenceHasBeenModified = false;
058    private OrderLinePK parentOrderLinePK;
059    private boolean parentOrderLinePKHasBeenModified = false;
060    private OrderShipmentGroupPK orderShipmentGroupPK;
061    private boolean orderShipmentGroupPKHasBeenModified = false;
062    private ItemPK itemPK;
063    private boolean itemPKHasBeenModified = false;
064    private InventoryConditionPK inventoryConditionPK;
065    private boolean inventoryConditionPKHasBeenModified = false;
066    private UnitOfMeasureTypePK unitOfMeasureTypePK;
067    private boolean unitOfMeasureTypePKHasBeenModified = false;
068    private Long quantity;
069    private boolean quantityHasBeenModified = false;
070    private Long unitAmount;
071    private boolean unitAmountHasBeenModified = false;
072    private String description;
073    private boolean descriptionHasBeenModified = false;
074    private CancellationPolicyPK cancellationPolicyPK;
075    private boolean cancellationPolicyPKHasBeenModified = false;
076    private ReturnPolicyPK returnPolicyPK;
077    private boolean returnPolicyPKHasBeenModified = false;
078    private Boolean taxable;
079    private boolean taxableHasBeenModified = false;
080    private Long fromTime;
081    private boolean fromTimeHasBeenModified = false;
082    private Long thruTime;
083    private boolean thruTimeHasBeenModified = false;
084    
085    private transient Integer _hashCode = null;
086    private transient String _stringValue = null;
087    
088    private void constructFields(OrderLinePK orderLinePK, OrderPK orderPK, Integer orderLineSequence, OrderLinePK parentOrderLinePK, OrderShipmentGroupPK orderShipmentGroupPK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long unitAmount, String description, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, Boolean taxable, Long fromTime, Long thruTime)
089            throws PersistenceNotNullException {
090        checkForNull(orderLinePK);
091        this.orderLinePK = orderLinePK;
092        checkForNull(orderPK);
093        this.orderPK = orderPK;
094        checkForNull(orderLineSequence);
095        this.orderLineSequence = orderLineSequence;
096        this.parentOrderLinePK = parentOrderLinePK;
097        this.orderShipmentGroupPK = orderShipmentGroupPK;
098        checkForNull(itemPK);
099        this.itemPK = itemPK;
100        checkForNull(inventoryConditionPK);
101        this.inventoryConditionPK = inventoryConditionPK;
102        checkForNull(unitOfMeasureTypePK);
103        this.unitOfMeasureTypePK = unitOfMeasureTypePK;
104        this.quantity = quantity;
105        this.unitAmount = unitAmount;
106        this.description = description;
107        this.cancellationPolicyPK = cancellationPolicyPK;
108        this.returnPolicyPK = returnPolicyPK;
109        this.taxable = taxable;
110        checkForNull(fromTime);
111        this.fromTime = fromTime;
112        checkForNull(thruTime);
113        this.thruTime = thruTime;
114    }
115    
116    /** Creates a new instance of OrderLineDetailValue */
117    public OrderLineDetailValue(OrderLineDetailPK orderLineDetailPK, OrderLinePK orderLinePK, OrderPK orderPK, Integer orderLineSequence, OrderLinePK parentOrderLinePK, OrderShipmentGroupPK orderShipmentGroupPK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long unitAmount, String description, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, Boolean taxable, Long fromTime, Long thruTime)
118            throws PersistenceNotNullException {
119        super(orderLineDetailPK);
120        constructFields(orderLinePK, orderPK, orderLineSequence, parentOrderLinePK, orderShipmentGroupPK, itemPK, inventoryConditionPK, unitOfMeasureTypePK, quantity, unitAmount, description, cancellationPolicyPK, returnPolicyPK, taxable, fromTime, thruTime);
121    }
122    
123    /** Creates a new instance of OrderLineDetailValue */
124    public OrderLineDetailValue(OrderLinePK orderLinePK, OrderPK orderPK, Integer orderLineSequence, OrderLinePK parentOrderLinePK, OrderShipmentGroupPK orderShipmentGroupPK, ItemPK itemPK, InventoryConditionPK inventoryConditionPK, UnitOfMeasureTypePK unitOfMeasureTypePK, Long quantity, Long unitAmount, String description, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, Boolean taxable, Long fromTime, Long thruTime)
125            throws PersistenceNotNullException {
126        super();
127        constructFields(orderLinePK, orderPK, orderLineSequence, parentOrderLinePK, orderShipmentGroupPK, itemPK, inventoryConditionPK, unitOfMeasureTypePK, quantity, unitAmount, description, cancellationPolicyPK, returnPolicyPK, taxable, fromTime, thruTime);
128    }
129    
130    @Override
131    @Nonnull
132    public OrderLineDetailFactory getBaseFactoryInstance() {
133        return OrderLineDetailFactory.getInstance();
134    }
135    
136    @Override
137    @Nonnull
138    public OrderLineDetailValue clone() {
139        Object result;
140        
141        try {
142            result = super.clone();
143        } catch (CloneNotSupportedException cnse) {
144            // This shouldn't happen, fail when it does.
145            throw new PersistenceCloneException(cnse);
146        }
147        
148        return (OrderLineDetailValue)result;
149    }
150    
151    @Override
152    @Nonnull
153    public OrderLineDetailPK getPrimaryKey() {
154        if(_primaryKey == null) {
155            _primaryKey = new OrderLineDetailPK(entityId);
156        }
157        
158        return _primaryKey;
159    }
160    
161    private void clearHashAndString() {
162        _hashCode = null;
163        _stringValue = null;
164    }
165    
166    @Override
167    public int hashCode() {
168        if(_hashCode == null) {
169            int hashCode = 17;
170            
171            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
172            
173            hashCode = 37 * hashCode + ((orderLinePK != null) ? orderLinePK.hashCode() : 0);
174            hashCode = 37 * hashCode + ((orderPK != null) ? orderPK.hashCode() : 0);
175            hashCode = 37 * hashCode + ((orderLineSequence != null) ? orderLineSequence.hashCode() : 0);
176            hashCode = 37 * hashCode + ((parentOrderLinePK != null) ? parentOrderLinePK.hashCode() : 0);
177            hashCode = 37 * hashCode + ((orderShipmentGroupPK != null) ? orderShipmentGroupPK.hashCode() : 0);
178            hashCode = 37 * hashCode + ((itemPK != null) ? itemPK.hashCode() : 0);
179            hashCode = 37 * hashCode + ((inventoryConditionPK != null) ? inventoryConditionPK.hashCode() : 0);
180            hashCode = 37 * hashCode + ((unitOfMeasureTypePK != null) ? unitOfMeasureTypePK.hashCode() : 0);
181            hashCode = 37 * hashCode + ((quantity != null) ? quantity.hashCode() : 0);
182            hashCode = 37 * hashCode + ((unitAmount != null) ? unitAmount.hashCode() : 0);
183            hashCode = 37 * hashCode + ((description != null) ? description.hashCode() : 0);
184            hashCode = 37 * hashCode + ((cancellationPolicyPK != null) ? cancellationPolicyPK.hashCode() : 0);
185            hashCode = 37 * hashCode + ((returnPolicyPK != null) ? returnPolicyPK.hashCode() : 0);
186            hashCode = 37 * hashCode + ((taxable != null) ? taxable.hashCode() : 0);
187            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
188            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
189            
190            _hashCode = hashCode;
191        }
192        
193        return _hashCode;
194    }
195    
196    @Override
197    @Nonnull
198    public String toString() {
199        if(_stringValue == null) {
200            _stringValue = "{" + 
201                    "entityId=" + getEntityId() +
202                    ", orderLinePK=" + getOrderLinePK() +
203                    ", orderPK=" + getOrderPK() +
204                    ", orderLineSequence=" + getOrderLineSequence() +
205                    ", parentOrderLinePK=" + getParentOrderLinePK() +
206                    ", orderShipmentGroupPK=" + getOrderShipmentGroupPK() +
207                    ", itemPK=" + getItemPK() +
208                    ", inventoryConditionPK=" + getInventoryConditionPK() +
209                    ", unitOfMeasureTypePK=" + getUnitOfMeasureTypePK() +
210                    ", quantity=" + getQuantity() +
211                    ", unitAmount=" + getUnitAmount() +
212                    ", description=" + getDescription() +
213                    ", cancellationPolicyPK=" + getCancellationPolicyPK() +
214                    ", returnPolicyPK=" + getReturnPolicyPK() +
215                    ", taxable=" + getTaxable() +
216                    ", fromTime=" + getFromTime() +
217                    ", thruTime=" + getThruTime() +
218                    "}";
219        }
220        return _stringValue;
221    }
222    
223    @Override
224    public boolean equals(Object other) {
225        if(this == other)
226            return true;
227        
228        if(!hasIdentity())
229            return false;
230        
231        if(other instanceof  OrderLineDetailValue that) {
232            if(!that.hasIdentity())
233                return false;
234            
235            Long thisEntityId = getEntityId();
236            Long thatEntityId = that.getEntityId();
237            
238            boolean objectsEqual = thisEntityId.equals(thatEntityId);
239            if(objectsEqual)
240                objectsEqual = isIdentical(that);
241            
242            return objectsEqual;
243        } else {
244            return false;
245        }
246    }
247    
248    public boolean isIdentical(Object other) {
249        if(other instanceof OrderLineDetailValue that) {
250            boolean objectsEqual = true;
251            
252            
253            if(objectsEqual) {
254                OrderLinePK thisOrderLinePK = getOrderLinePK();
255                OrderLinePK thatOrderLinePK = that.getOrderLinePK();
256                
257                if(thisOrderLinePK == null) {
258                    objectsEqual = objectsEqual && (thatOrderLinePK == null);
259                } else {
260                    objectsEqual = objectsEqual && thisOrderLinePK.equals(thatOrderLinePK);
261                }
262            }
263            
264            if(objectsEqual) {
265                OrderPK thisOrderPK = getOrderPK();
266                OrderPK thatOrderPK = that.getOrderPK();
267                
268                if(thisOrderPK == null) {
269                    objectsEqual = objectsEqual && (thatOrderPK == null);
270                } else {
271                    objectsEqual = objectsEqual && thisOrderPK.equals(thatOrderPK);
272                }
273            }
274            
275            if(objectsEqual) {
276                Integer thisOrderLineSequence = getOrderLineSequence();
277                Integer thatOrderLineSequence = that.getOrderLineSequence();
278                
279                if(thisOrderLineSequence == null) {
280                    objectsEqual = objectsEqual && (thatOrderLineSequence == null);
281                } else {
282                    objectsEqual = objectsEqual && thisOrderLineSequence.equals(thatOrderLineSequence);
283                }
284            }
285            
286            if(objectsEqual) {
287                OrderLinePK thisParentOrderLinePK = getParentOrderLinePK();
288                OrderLinePK thatParentOrderLinePK = that.getParentOrderLinePK();
289                
290                if(thisParentOrderLinePK == null) {
291                    objectsEqual = objectsEqual && (thatParentOrderLinePK == null);
292                } else {
293                    objectsEqual = objectsEqual && thisParentOrderLinePK.equals(thatParentOrderLinePK);
294                }
295            }
296            
297            if(objectsEqual) {
298                OrderShipmentGroupPK thisOrderShipmentGroupPK = getOrderShipmentGroupPK();
299                OrderShipmentGroupPK thatOrderShipmentGroupPK = that.getOrderShipmentGroupPK();
300                
301                if(thisOrderShipmentGroupPK == null) {
302                    objectsEqual = objectsEqual && (thatOrderShipmentGroupPK == null);
303                } else {
304                    objectsEqual = objectsEqual && thisOrderShipmentGroupPK.equals(thatOrderShipmentGroupPK);
305                }
306            }
307            
308            if(objectsEqual) {
309                ItemPK thisItemPK = getItemPK();
310                ItemPK thatItemPK = that.getItemPK();
311                
312                if(thisItemPK == null) {
313                    objectsEqual = objectsEqual && (thatItemPK == null);
314                } else {
315                    objectsEqual = objectsEqual && thisItemPK.equals(thatItemPK);
316                }
317            }
318            
319            if(objectsEqual) {
320                InventoryConditionPK thisInventoryConditionPK = getInventoryConditionPK();
321                InventoryConditionPK thatInventoryConditionPK = that.getInventoryConditionPK();
322                
323                if(thisInventoryConditionPK == null) {
324                    objectsEqual = objectsEqual && (thatInventoryConditionPK == null);
325                } else {
326                    objectsEqual = objectsEqual && thisInventoryConditionPK.equals(thatInventoryConditionPK);
327                }
328            }
329            
330            if(objectsEqual) {
331                UnitOfMeasureTypePK thisUnitOfMeasureTypePK = getUnitOfMeasureTypePK();
332                UnitOfMeasureTypePK thatUnitOfMeasureTypePK = that.getUnitOfMeasureTypePK();
333                
334                if(thisUnitOfMeasureTypePK == null) {
335                    objectsEqual = objectsEqual && (thatUnitOfMeasureTypePK == null);
336                } else {
337                    objectsEqual = objectsEqual && thisUnitOfMeasureTypePK.equals(thatUnitOfMeasureTypePK);
338                }
339            }
340            
341            if(objectsEqual) {
342                Long thisQuantity = getQuantity();
343                Long thatQuantity = that.getQuantity();
344                
345                if(thisQuantity == null) {
346                    objectsEqual = objectsEqual && (thatQuantity == null);
347                } else {
348                    objectsEqual = objectsEqual && thisQuantity.equals(thatQuantity);
349                }
350            }
351            
352            if(objectsEqual) {
353                Long thisUnitAmount = getUnitAmount();
354                Long thatUnitAmount = that.getUnitAmount();
355                
356                if(thisUnitAmount == null) {
357                    objectsEqual = objectsEqual && (thatUnitAmount == null);
358                } else {
359                    objectsEqual = objectsEqual && thisUnitAmount.equals(thatUnitAmount);
360                }
361            }
362            
363            if(objectsEqual) {
364                String thisDescription = getDescription();
365                String thatDescription = that.getDescription();
366                
367                if(thisDescription == null) {
368                    objectsEqual = objectsEqual && (thatDescription == null);
369                } else {
370                    objectsEqual = objectsEqual && thisDescription.equals(thatDescription);
371                }
372            }
373            
374            if(objectsEqual) {
375                CancellationPolicyPK thisCancellationPolicyPK = getCancellationPolicyPK();
376                CancellationPolicyPK thatCancellationPolicyPK = that.getCancellationPolicyPK();
377                
378                if(thisCancellationPolicyPK == null) {
379                    objectsEqual = objectsEqual && (thatCancellationPolicyPK == null);
380                } else {
381                    objectsEqual = objectsEqual && thisCancellationPolicyPK.equals(thatCancellationPolicyPK);
382                }
383            }
384            
385            if(objectsEqual) {
386                ReturnPolicyPK thisReturnPolicyPK = getReturnPolicyPK();
387                ReturnPolicyPK thatReturnPolicyPK = that.getReturnPolicyPK();
388                
389                if(thisReturnPolicyPK == null) {
390                    objectsEqual = objectsEqual && (thatReturnPolicyPK == null);
391                } else {
392                    objectsEqual = objectsEqual && thisReturnPolicyPK.equals(thatReturnPolicyPK);
393                }
394            }
395            
396            if(objectsEqual) {
397                Boolean thisTaxable = getTaxable();
398                Boolean thatTaxable = that.getTaxable();
399                
400                if(thisTaxable == null) {
401                    objectsEqual = objectsEqual && (thatTaxable == null);
402                } else {
403                    objectsEqual = objectsEqual && thisTaxable.equals(thatTaxable);
404                }
405            }
406            
407            if(objectsEqual) {
408                Long thisFromTime = getFromTime();
409                Long thatFromTime = that.getFromTime();
410                
411                if(thisFromTime == null) {
412                    objectsEqual = objectsEqual && (thatFromTime == null);
413                } else {
414                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
415                }
416            }
417            
418            if(objectsEqual) {
419                Long thisThruTime = getThruTime();
420                Long thatThruTime = that.getThruTime();
421                
422                if(thisThruTime == null) {
423                    objectsEqual = objectsEqual && (thatThruTime == null);
424                } else {
425                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
426                }
427            }
428            
429            return objectsEqual;
430        } else {
431            return false;
432        }
433    }
434    
435    @Override
436    public boolean hasBeenModified() {
437        return orderLinePKHasBeenModified || orderPKHasBeenModified || orderLineSequenceHasBeenModified || parentOrderLinePKHasBeenModified || orderShipmentGroupPKHasBeenModified || itemPKHasBeenModified || inventoryConditionPKHasBeenModified || unitOfMeasureTypePKHasBeenModified || quantityHasBeenModified || unitAmountHasBeenModified || descriptionHasBeenModified || cancellationPolicyPKHasBeenModified || returnPolicyPKHasBeenModified || taxableHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
438    }
439    
440    @Override
441    public void clearHasBeenModified() {
442        orderLinePKHasBeenModified = false;
443        orderPKHasBeenModified = false;
444        orderLineSequenceHasBeenModified = false;
445        parentOrderLinePKHasBeenModified = false;
446        orderShipmentGroupPKHasBeenModified = false;
447        itemPKHasBeenModified = false;
448        inventoryConditionPKHasBeenModified = false;
449        unitOfMeasureTypePKHasBeenModified = false;
450        quantityHasBeenModified = false;
451        unitAmountHasBeenModified = false;
452        descriptionHasBeenModified = false;
453        cancellationPolicyPKHasBeenModified = false;
454        returnPolicyPKHasBeenModified = false;
455        taxableHasBeenModified = false;
456        fromTimeHasBeenModified = false;
457        thruTimeHasBeenModified = false;
458    }
459    
460    @Nonnull
461    public OrderLinePK getOrderLinePK() {
462        return orderLinePK;
463    }
464    
465    public void setOrderLinePK(@Nonnull OrderLinePK orderLinePK)
466            throws PersistenceNotNullException {
467        checkForNull(orderLinePK);
468        
469        boolean update = true;
470        
471        if(this.orderLinePK != null) {
472            if(this.orderLinePK.equals(orderLinePK)) {
473                update = false;
474            }
475        } else if(orderLinePK == null) {
476            update = false;
477        }
478        
479        if(update) {
480            this.orderLinePK = orderLinePK;
481            orderLinePKHasBeenModified = true;
482            clearHashAndString();
483        }
484    }
485    
486    public boolean getOrderLinePKHasBeenModified() {
487        return orderLinePKHasBeenModified;
488    }
489    
490    @Nonnull
491    public OrderPK getOrderPK() {
492        return orderPK;
493    }
494    
495    public void setOrderPK(@Nonnull OrderPK orderPK)
496            throws PersistenceNotNullException {
497        checkForNull(orderPK);
498        
499        boolean update = true;
500        
501        if(this.orderPK != null) {
502            if(this.orderPK.equals(orderPK)) {
503                update = false;
504            }
505        } else if(orderPK == null) {
506            update = false;
507        }
508        
509        if(update) {
510            this.orderPK = orderPK;
511            orderPKHasBeenModified = true;
512            clearHashAndString();
513        }
514    }
515    
516    public boolean getOrderPKHasBeenModified() {
517        return orderPKHasBeenModified;
518    }
519    
520    @Nonnull
521    public Integer getOrderLineSequence() {
522        return orderLineSequence;
523    }
524    
525    public void setOrderLineSequence(@Nonnull Integer orderLineSequence)
526            throws PersistenceNotNullException {
527        checkForNull(orderLineSequence);
528        
529        boolean update = true;
530        
531        if(this.orderLineSequence != null) {
532            if(this.orderLineSequence.equals(orderLineSequence)) {
533                update = false;
534            }
535        } else if(orderLineSequence == null) {
536            update = false;
537        }
538        
539        if(update) {
540            this.orderLineSequence = orderLineSequence;
541            orderLineSequenceHasBeenModified = true;
542            clearHashAndString();
543        }
544    }
545    
546    public boolean getOrderLineSequenceHasBeenModified() {
547        return orderLineSequenceHasBeenModified;
548    }
549    
550    @Nullable
551    public OrderLinePK getParentOrderLinePK() {
552        return parentOrderLinePK;
553    }
554    
555    public void setParentOrderLinePK(@Nullable OrderLinePK parentOrderLinePK) {
556        boolean update = true;
557        
558        if(this.parentOrderLinePK != null) {
559            if(this.parentOrderLinePK.equals(parentOrderLinePK)) {
560                update = false;
561            }
562        } else if(parentOrderLinePK == null) {
563            update = false;
564        }
565        
566        if(update) {
567            this.parentOrderLinePK = parentOrderLinePK;
568            parentOrderLinePKHasBeenModified = true;
569            clearHashAndString();
570        }
571    }
572    
573    public boolean getParentOrderLinePKHasBeenModified() {
574        return parentOrderLinePKHasBeenModified;
575    }
576    
577    @Nullable
578    public OrderShipmentGroupPK getOrderShipmentGroupPK() {
579        return orderShipmentGroupPK;
580    }
581    
582    public void setOrderShipmentGroupPK(@Nullable OrderShipmentGroupPK orderShipmentGroupPK) {
583        boolean update = true;
584        
585        if(this.orderShipmentGroupPK != null) {
586            if(this.orderShipmentGroupPK.equals(orderShipmentGroupPK)) {
587                update = false;
588            }
589        } else if(orderShipmentGroupPK == null) {
590            update = false;
591        }
592        
593        if(update) {
594            this.orderShipmentGroupPK = orderShipmentGroupPK;
595            orderShipmentGroupPKHasBeenModified = true;
596            clearHashAndString();
597        }
598    }
599    
600    public boolean getOrderShipmentGroupPKHasBeenModified() {
601        return orderShipmentGroupPKHasBeenModified;
602    }
603    
604    @Nonnull
605    public ItemPK getItemPK() {
606        return itemPK;
607    }
608    
609    public void setItemPK(@Nonnull ItemPK itemPK)
610            throws PersistenceNotNullException {
611        checkForNull(itemPK);
612        
613        boolean update = true;
614        
615        if(this.itemPK != null) {
616            if(this.itemPK.equals(itemPK)) {
617                update = false;
618            }
619        } else if(itemPK == null) {
620            update = false;
621        }
622        
623        if(update) {
624            this.itemPK = itemPK;
625            itemPKHasBeenModified = true;
626            clearHashAndString();
627        }
628    }
629    
630    public boolean getItemPKHasBeenModified() {
631        return itemPKHasBeenModified;
632    }
633    
634    @Nonnull
635    public InventoryConditionPK getInventoryConditionPK() {
636        return inventoryConditionPK;
637    }
638    
639    public void setInventoryConditionPK(@Nonnull InventoryConditionPK inventoryConditionPK)
640            throws PersistenceNotNullException {
641        checkForNull(inventoryConditionPK);
642        
643        boolean update = true;
644        
645        if(this.inventoryConditionPK != null) {
646            if(this.inventoryConditionPK.equals(inventoryConditionPK)) {
647                update = false;
648            }
649        } else if(inventoryConditionPK == null) {
650            update = false;
651        }
652        
653        if(update) {
654            this.inventoryConditionPK = inventoryConditionPK;
655            inventoryConditionPKHasBeenModified = true;
656            clearHashAndString();
657        }
658    }
659    
660    public boolean getInventoryConditionPKHasBeenModified() {
661        return inventoryConditionPKHasBeenModified;
662    }
663    
664    @Nonnull
665    public UnitOfMeasureTypePK getUnitOfMeasureTypePK() {
666        return unitOfMeasureTypePK;
667    }
668    
669    public void setUnitOfMeasureTypePK(@Nonnull UnitOfMeasureTypePK unitOfMeasureTypePK)
670            throws PersistenceNotNullException {
671        checkForNull(unitOfMeasureTypePK);
672        
673        boolean update = true;
674        
675        if(this.unitOfMeasureTypePK != null) {
676            if(this.unitOfMeasureTypePK.equals(unitOfMeasureTypePK)) {
677                update = false;
678            }
679        } else if(unitOfMeasureTypePK == null) {
680            update = false;
681        }
682        
683        if(update) {
684            this.unitOfMeasureTypePK = unitOfMeasureTypePK;
685            unitOfMeasureTypePKHasBeenModified = true;
686            clearHashAndString();
687        }
688    }
689    
690    public boolean getUnitOfMeasureTypePKHasBeenModified() {
691        return unitOfMeasureTypePKHasBeenModified;
692    }
693    
694    @Nullable
695    public Long getQuantity() {
696        return quantity;
697    }
698    
699    public void setQuantity(@Nullable Long quantity) {
700        boolean update = true;
701        
702        if(this.quantity != null) {
703            if(this.quantity.equals(quantity)) {
704                update = false;
705            }
706        } else if(quantity == null) {
707            update = false;
708        }
709        
710        if(update) {
711            this.quantity = quantity;
712            quantityHasBeenModified = true;
713            clearHashAndString();
714        }
715    }
716    
717    public boolean getQuantityHasBeenModified() {
718        return quantityHasBeenModified;
719    }
720    
721    @Nullable
722    public Long getUnitAmount() {
723        return unitAmount;
724    }
725    
726    public void setUnitAmount(@Nullable Long unitAmount) {
727        boolean update = true;
728        
729        if(this.unitAmount != null) {
730            if(this.unitAmount.equals(unitAmount)) {
731                update = false;
732            }
733        } else if(unitAmount == null) {
734            update = false;
735        }
736        
737        if(update) {
738            this.unitAmount = unitAmount;
739            unitAmountHasBeenModified = true;
740            clearHashAndString();
741        }
742    }
743    
744    public boolean getUnitAmountHasBeenModified() {
745        return unitAmountHasBeenModified;
746    }
747    
748    @Nullable
749    public String getDescription() {
750        return description;
751    }
752    
753    public void setDescription(@Nullable String description) {
754        boolean update = true;
755        
756        if(this.description != null) {
757            if(this.description.equals(description)) {
758                update = false;
759            }
760        } else if(description == null) {
761            update = false;
762        }
763        
764        if(update) {
765            this.description = description;
766            descriptionHasBeenModified = true;
767            clearHashAndString();
768        }
769    }
770    
771    public boolean getDescriptionHasBeenModified() {
772        return descriptionHasBeenModified;
773    }
774    
775    @Nullable
776    public CancellationPolicyPK getCancellationPolicyPK() {
777        return cancellationPolicyPK;
778    }
779    
780    public void setCancellationPolicyPK(@Nullable CancellationPolicyPK cancellationPolicyPK) {
781        boolean update = true;
782        
783        if(this.cancellationPolicyPK != null) {
784            if(this.cancellationPolicyPK.equals(cancellationPolicyPK)) {
785                update = false;
786            }
787        } else if(cancellationPolicyPK == null) {
788            update = false;
789        }
790        
791        if(update) {
792            this.cancellationPolicyPK = cancellationPolicyPK;
793            cancellationPolicyPKHasBeenModified = true;
794            clearHashAndString();
795        }
796    }
797    
798    public boolean getCancellationPolicyPKHasBeenModified() {
799        return cancellationPolicyPKHasBeenModified;
800    }
801    
802    @Nullable
803    public ReturnPolicyPK getReturnPolicyPK() {
804        return returnPolicyPK;
805    }
806    
807    public void setReturnPolicyPK(@Nullable ReturnPolicyPK returnPolicyPK) {
808        boolean update = true;
809        
810        if(this.returnPolicyPK != null) {
811            if(this.returnPolicyPK.equals(returnPolicyPK)) {
812                update = false;
813            }
814        } else if(returnPolicyPK == null) {
815            update = false;
816        }
817        
818        if(update) {
819            this.returnPolicyPK = returnPolicyPK;
820            returnPolicyPKHasBeenModified = true;
821            clearHashAndString();
822        }
823    }
824    
825    public boolean getReturnPolicyPKHasBeenModified() {
826        return returnPolicyPKHasBeenModified;
827    }
828    
829    @Nullable
830    public Boolean getTaxable() {
831        return taxable;
832    }
833    
834    public void setTaxable(@Nullable Boolean taxable) {
835        boolean update = true;
836        
837        if(this.taxable != null) {
838            if(this.taxable.equals(taxable)) {
839                update = false;
840            }
841        } else if(taxable == null) {
842            update = false;
843        }
844        
845        if(update) {
846            this.taxable = taxable;
847            taxableHasBeenModified = true;
848            clearHashAndString();
849        }
850    }
851    
852    public boolean getTaxableHasBeenModified() {
853        return taxableHasBeenModified;
854    }
855    
856    @Nonnull
857    public Long getFromTime() {
858        return fromTime;
859    }
860    
861    public void setFromTime(@Nonnull Long fromTime)
862            throws PersistenceNotNullException {
863        checkForNull(fromTime);
864        
865        boolean update = true;
866        
867        if(this.fromTime != null) {
868            if(this.fromTime.equals(fromTime)) {
869                update = false;
870            }
871        } else if(fromTime == null) {
872            update = false;
873        }
874        
875        if(update) {
876            this.fromTime = fromTime;
877            fromTimeHasBeenModified = true;
878            clearHashAndString();
879        }
880    }
881    
882    public boolean getFromTimeHasBeenModified() {
883        return fromTimeHasBeenModified;
884    }
885    
886    @Nonnull
887    public Long getThruTime() {
888        return thruTime;
889    }
890    
891    public void setThruTime(@Nonnull Long thruTime)
892            throws PersistenceNotNullException {
893        checkForNull(thruTime);
894        
895        boolean update = true;
896        
897        if(this.thruTime != null) {
898            if(this.thruTime.equals(thruTime)) {
899                update = false;
900            }
901        } else if(thruTime == null) {
902            update = false;
903        }
904        
905        if(update) {
906            this.thruTime = thruTime;
907            thruTimeHasBeenModified = true;
908            clearHashAndString();
909        }
910    }
911    
912    public boolean getThruTimeHasBeenModified() {
913        return thruTimeHasBeenModified;
914    }
915    
916}