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 * ItemDetailValue.java
021 */
022
023package com.echothree.model.data.item.server.value;
024
025import com.echothree.model.data.item.common.pk.ItemDetailPK;
026
027import com.echothree.model.data.item.server.factory.ItemDetailFactory;
028
029import com.echothree.model.data.item.common.pk.ItemPK;
030import com.echothree.model.data.item.common.pk.ItemTypePK;
031import com.echothree.model.data.item.common.pk.ItemUseTypePK;
032import com.echothree.model.data.item.common.pk.ItemCategoryPK;
033import com.echothree.model.data.accounting.common.pk.ItemAccountingCategoryPK;
034import com.echothree.model.data.vendor.common.pk.ItemPurchasingCategoryPK;
035import com.echothree.model.data.party.common.pk.PartyPK;
036import com.echothree.model.data.item.common.pk.ItemDeliveryTypePK;
037import com.echothree.model.data.item.common.pk.ItemInventoryTypePK;
038import com.echothree.model.data.sequence.common.pk.SequencePK;
039import com.echothree.model.data.uom.common.pk.UnitOfMeasureKindPK;
040import com.echothree.model.data.item.common.pk.ItemPriceTypePK;
041import com.echothree.model.data.cancellationpolicy.common.pk.CancellationPolicyPK;
042import com.echothree.model.data.returnpolicy.common.pk.ReturnPolicyPK;
043import com.echothree.model.data.style.common.pk.StylePathPK;
044
045import com.echothree.util.common.exception.PersistenceCloneException;
046import com.echothree.util.common.exception.PersistenceNotNullException;
047
048import com.echothree.util.server.persistence.BaseValue;
049
050import java.io.Serializable;
051
052import javax.annotation.Nonnull;
053import javax.annotation.Nullable;
054
055public class ItemDetailValue
056        extends BaseValue<ItemDetailPK>
057        implements Cloneable, Serializable {
058    
059    private ItemPK itemPK;
060    private boolean itemPKHasBeenModified = false;
061    private String itemName;
062    private boolean itemNameHasBeenModified = false;
063    private ItemTypePK itemTypePK;
064    private boolean itemTypePKHasBeenModified = false;
065    private ItemUseTypePK itemUseTypePK;
066    private boolean itemUseTypePKHasBeenModified = false;
067    private ItemCategoryPK itemCategoryPK;
068    private boolean itemCategoryPKHasBeenModified = false;
069    private ItemAccountingCategoryPK itemAccountingCategoryPK;
070    private boolean itemAccountingCategoryPKHasBeenModified = false;
071    private ItemPurchasingCategoryPK itemPurchasingCategoryPK;
072    private boolean itemPurchasingCategoryPKHasBeenModified = false;
073    private PartyPK companyPartyPK;
074    private boolean companyPartyPKHasBeenModified = false;
075    private ItemDeliveryTypePK itemDeliveryTypePK;
076    private boolean itemDeliveryTypePKHasBeenModified = false;
077    private ItemInventoryTypePK itemInventoryTypePK;
078    private boolean itemInventoryTypePKHasBeenModified = false;
079    private Boolean inventorySerialized;
080    private boolean inventorySerializedHasBeenModified = false;
081    private SequencePK serialNumberSequencePK;
082    private boolean serialNumberSequencePKHasBeenModified = false;
083    private Boolean shippingChargeExempt;
084    private boolean shippingChargeExemptHasBeenModified = false;
085    private Long shippingStartTime;
086    private boolean shippingStartTimeHasBeenModified = false;
087    private Long shippingEndTime;
088    private boolean shippingEndTimeHasBeenModified = false;
089    private Long salesOrderStartTime;
090    private boolean salesOrderStartTimeHasBeenModified = false;
091    private Long salesOrderEndTime;
092    private boolean salesOrderEndTimeHasBeenModified = false;
093    private Long purchaseOrderStartTime;
094    private boolean purchaseOrderStartTimeHasBeenModified = false;
095    private Long purchaseOrderEndTime;
096    private boolean purchaseOrderEndTimeHasBeenModified = false;
097    private Boolean allowClubDiscounts;
098    private boolean allowClubDiscountsHasBeenModified = false;
099    private Boolean allowCouponDiscounts;
100    private boolean allowCouponDiscountsHasBeenModified = false;
101    private Boolean allowAssociatePayments;
102    private boolean allowAssociatePaymentsHasBeenModified = false;
103    private UnitOfMeasureKindPK unitOfMeasureKindPK;
104    private boolean unitOfMeasureKindPKHasBeenModified = false;
105    private ItemPriceTypePK itemPriceTypePK;
106    private boolean itemPriceTypePKHasBeenModified = false;
107    private CancellationPolicyPK cancellationPolicyPK;
108    private boolean cancellationPolicyPKHasBeenModified = false;
109    private ReturnPolicyPK returnPolicyPK;
110    private boolean returnPolicyPKHasBeenModified = false;
111    private StylePathPK stylePathPK;
112    private boolean stylePathPKHasBeenModified = false;
113    private Long fromTime;
114    private boolean fromTimeHasBeenModified = false;
115    private Long thruTime;
116    private boolean thruTimeHasBeenModified = false;
117    
118    private transient Integer _hashCode = null;
119    private transient String _stringValue = null;
120    
121    private void constructFields(ItemPK itemPK, String itemName, ItemTypePK itemTypePK, ItemUseTypePK itemUseTypePK, ItemCategoryPK itemCategoryPK, ItemAccountingCategoryPK itemAccountingCategoryPK, ItemPurchasingCategoryPK itemPurchasingCategoryPK, PartyPK companyPartyPK, ItemDeliveryTypePK itemDeliveryTypePK, ItemInventoryTypePK itemInventoryTypePK, Boolean inventorySerialized, SequencePK serialNumberSequencePK, Boolean shippingChargeExempt, Long shippingStartTime, Long shippingEndTime, Long salesOrderStartTime, Long salesOrderEndTime, Long purchaseOrderStartTime, Long purchaseOrderEndTime, Boolean allowClubDiscounts, Boolean allowCouponDiscounts, Boolean allowAssociatePayments, UnitOfMeasureKindPK unitOfMeasureKindPK, ItemPriceTypePK itemPriceTypePK, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, StylePathPK stylePathPK, Long fromTime, Long thruTime)
122            throws PersistenceNotNullException {
123        checkForNull(itemPK);
124        this.itemPK = itemPK;
125        checkForNull(itemName);
126        this.itemName = itemName;
127        checkForNull(itemTypePK);
128        this.itemTypePK = itemTypePK;
129        checkForNull(itemUseTypePK);
130        this.itemUseTypePK = itemUseTypePK;
131        checkForNull(itemCategoryPK);
132        this.itemCategoryPK = itemCategoryPK;
133        this.itemAccountingCategoryPK = itemAccountingCategoryPK;
134        this.itemPurchasingCategoryPK = itemPurchasingCategoryPK;
135        checkForNull(companyPartyPK);
136        this.companyPartyPK = companyPartyPK;
137        this.itemDeliveryTypePK = itemDeliveryTypePK;
138        this.itemInventoryTypePK = itemInventoryTypePK;
139        this.inventorySerialized = inventorySerialized;
140        this.serialNumberSequencePK = serialNumberSequencePK;
141        checkForNull(shippingChargeExempt);
142        this.shippingChargeExempt = shippingChargeExempt;
143        checkForNull(shippingStartTime);
144        this.shippingStartTime = shippingStartTime;
145        this.shippingEndTime = shippingEndTime;
146        checkForNull(salesOrderStartTime);
147        this.salesOrderStartTime = salesOrderStartTime;
148        this.salesOrderEndTime = salesOrderEndTime;
149        this.purchaseOrderStartTime = purchaseOrderStartTime;
150        this.purchaseOrderEndTime = purchaseOrderEndTime;
151        checkForNull(allowClubDiscounts);
152        this.allowClubDiscounts = allowClubDiscounts;
153        checkForNull(allowCouponDiscounts);
154        this.allowCouponDiscounts = allowCouponDiscounts;
155        checkForNull(allowAssociatePayments);
156        this.allowAssociatePayments = allowAssociatePayments;
157        checkForNull(unitOfMeasureKindPK);
158        this.unitOfMeasureKindPK = unitOfMeasureKindPK;
159        checkForNull(itemPriceTypePK);
160        this.itemPriceTypePK = itemPriceTypePK;
161        this.cancellationPolicyPK = cancellationPolicyPK;
162        this.returnPolicyPK = returnPolicyPK;
163        this.stylePathPK = stylePathPK;
164        checkForNull(fromTime);
165        this.fromTime = fromTime;
166        checkForNull(thruTime);
167        this.thruTime = thruTime;
168    }
169    
170    /** Creates a new instance of ItemDetailValue */
171    public ItemDetailValue(ItemDetailPK itemDetailPK, ItemPK itemPK, String itemName, ItemTypePK itemTypePK, ItemUseTypePK itemUseTypePK, ItemCategoryPK itemCategoryPK, ItemAccountingCategoryPK itemAccountingCategoryPK, ItemPurchasingCategoryPK itemPurchasingCategoryPK, PartyPK companyPartyPK, ItemDeliveryTypePK itemDeliveryTypePK, ItemInventoryTypePK itemInventoryTypePK, Boolean inventorySerialized, SequencePK serialNumberSequencePK, Boolean shippingChargeExempt, Long shippingStartTime, Long shippingEndTime, Long salesOrderStartTime, Long salesOrderEndTime, Long purchaseOrderStartTime, Long purchaseOrderEndTime, Boolean allowClubDiscounts, Boolean allowCouponDiscounts, Boolean allowAssociatePayments, UnitOfMeasureKindPK unitOfMeasureKindPK, ItemPriceTypePK itemPriceTypePK, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, StylePathPK stylePathPK, Long fromTime, Long thruTime)
172            throws PersistenceNotNullException {
173        super(itemDetailPK);
174        constructFields(itemPK, itemName, itemTypePK, itemUseTypePK, itemCategoryPK, itemAccountingCategoryPK, itemPurchasingCategoryPK, companyPartyPK, itemDeliveryTypePK, itemInventoryTypePK, inventorySerialized, serialNumberSequencePK, shippingChargeExempt, shippingStartTime, shippingEndTime, salesOrderStartTime, salesOrderEndTime, purchaseOrderStartTime, purchaseOrderEndTime, allowClubDiscounts, allowCouponDiscounts, allowAssociatePayments, unitOfMeasureKindPK, itemPriceTypePK, cancellationPolicyPK, returnPolicyPK, stylePathPK, fromTime, thruTime);
175    }
176    
177    /** Creates a new instance of ItemDetailValue */
178    public ItemDetailValue(ItemPK itemPK, String itemName, ItemTypePK itemTypePK, ItemUseTypePK itemUseTypePK, ItemCategoryPK itemCategoryPK, ItemAccountingCategoryPK itemAccountingCategoryPK, ItemPurchasingCategoryPK itemPurchasingCategoryPK, PartyPK companyPartyPK, ItemDeliveryTypePK itemDeliveryTypePK, ItemInventoryTypePK itemInventoryTypePK, Boolean inventorySerialized, SequencePK serialNumberSequencePK, Boolean shippingChargeExempt, Long shippingStartTime, Long shippingEndTime, Long salesOrderStartTime, Long salesOrderEndTime, Long purchaseOrderStartTime, Long purchaseOrderEndTime, Boolean allowClubDiscounts, Boolean allowCouponDiscounts, Boolean allowAssociatePayments, UnitOfMeasureKindPK unitOfMeasureKindPK, ItemPriceTypePK itemPriceTypePK, CancellationPolicyPK cancellationPolicyPK, ReturnPolicyPK returnPolicyPK, StylePathPK stylePathPK, Long fromTime, Long thruTime)
179            throws PersistenceNotNullException {
180        super();
181        constructFields(itemPK, itemName, itemTypePK, itemUseTypePK, itemCategoryPK, itemAccountingCategoryPK, itemPurchasingCategoryPK, companyPartyPK, itemDeliveryTypePK, itemInventoryTypePK, inventorySerialized, serialNumberSequencePK, shippingChargeExempt, shippingStartTime, shippingEndTime, salesOrderStartTime, salesOrderEndTime, purchaseOrderStartTime, purchaseOrderEndTime, allowClubDiscounts, allowCouponDiscounts, allowAssociatePayments, unitOfMeasureKindPK, itemPriceTypePK, cancellationPolicyPK, returnPolicyPK, stylePathPK, fromTime, thruTime);
182    }
183    
184    @Override
185    @Nonnull
186    public ItemDetailFactory getBaseFactoryInstance() {
187        return ItemDetailFactory.getInstance();
188    }
189    
190    @Override
191    @Nonnull
192    public ItemDetailValue clone() {
193        Object result;
194        
195        try {
196            result = super.clone();
197        } catch (CloneNotSupportedException cnse) {
198            // This shouldn't happen, fail when it does.
199            throw new PersistenceCloneException(cnse);
200        }
201        
202        return (ItemDetailValue)result;
203    }
204    
205    @Override
206    @Nonnull
207    public ItemDetailPK getPrimaryKey() {
208        if(_primaryKey == null) {
209            _primaryKey = new ItemDetailPK(entityId);
210        }
211        
212        return _primaryKey;
213    }
214    
215    private void clearHashAndString() {
216        _hashCode = null;
217        _stringValue = null;
218    }
219    
220    @Override
221    public int hashCode() {
222        if(_hashCode == null) {
223            int hashCode = 17;
224            
225            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
226            
227            hashCode = 37 * hashCode + ((itemPK != null) ? itemPK.hashCode() : 0);
228            hashCode = 37 * hashCode + ((itemName != null) ? itemName.hashCode() : 0);
229            hashCode = 37 * hashCode + ((itemTypePK != null) ? itemTypePK.hashCode() : 0);
230            hashCode = 37 * hashCode + ((itemUseTypePK != null) ? itemUseTypePK.hashCode() : 0);
231            hashCode = 37 * hashCode + ((itemCategoryPK != null) ? itemCategoryPK.hashCode() : 0);
232            hashCode = 37 * hashCode + ((itemAccountingCategoryPK != null) ? itemAccountingCategoryPK.hashCode() : 0);
233            hashCode = 37 * hashCode + ((itemPurchasingCategoryPK != null) ? itemPurchasingCategoryPK.hashCode() : 0);
234            hashCode = 37 * hashCode + ((companyPartyPK != null) ? companyPartyPK.hashCode() : 0);
235            hashCode = 37 * hashCode + ((itemDeliveryTypePK != null) ? itemDeliveryTypePK.hashCode() : 0);
236            hashCode = 37 * hashCode + ((itemInventoryTypePK != null) ? itemInventoryTypePK.hashCode() : 0);
237            hashCode = 37 * hashCode + ((inventorySerialized != null) ? inventorySerialized.hashCode() : 0);
238            hashCode = 37 * hashCode + ((serialNumberSequencePK != null) ? serialNumberSequencePK.hashCode() : 0);
239            hashCode = 37 * hashCode + ((shippingChargeExempt != null) ? shippingChargeExempt.hashCode() : 0);
240            hashCode = 37 * hashCode + ((shippingStartTime != null) ? shippingStartTime.hashCode() : 0);
241            hashCode = 37 * hashCode + ((shippingEndTime != null) ? shippingEndTime.hashCode() : 0);
242            hashCode = 37 * hashCode + ((salesOrderStartTime != null) ? salesOrderStartTime.hashCode() : 0);
243            hashCode = 37 * hashCode + ((salesOrderEndTime != null) ? salesOrderEndTime.hashCode() : 0);
244            hashCode = 37 * hashCode + ((purchaseOrderStartTime != null) ? purchaseOrderStartTime.hashCode() : 0);
245            hashCode = 37 * hashCode + ((purchaseOrderEndTime != null) ? purchaseOrderEndTime.hashCode() : 0);
246            hashCode = 37 * hashCode + ((allowClubDiscounts != null) ? allowClubDiscounts.hashCode() : 0);
247            hashCode = 37 * hashCode + ((allowCouponDiscounts != null) ? allowCouponDiscounts.hashCode() : 0);
248            hashCode = 37 * hashCode + ((allowAssociatePayments != null) ? allowAssociatePayments.hashCode() : 0);
249            hashCode = 37 * hashCode + ((unitOfMeasureKindPK != null) ? unitOfMeasureKindPK.hashCode() : 0);
250            hashCode = 37 * hashCode + ((itemPriceTypePK != null) ? itemPriceTypePK.hashCode() : 0);
251            hashCode = 37 * hashCode + ((cancellationPolicyPK != null) ? cancellationPolicyPK.hashCode() : 0);
252            hashCode = 37 * hashCode + ((returnPolicyPK != null) ? returnPolicyPK.hashCode() : 0);
253            hashCode = 37 * hashCode + ((stylePathPK != null) ? stylePathPK.hashCode() : 0);
254            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
255            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
256            
257            _hashCode = hashCode;
258        }
259        
260        return _hashCode;
261    }
262    
263    @Override
264    @Nonnull
265    public String toString() {
266        if(_stringValue == null) {
267            _stringValue = "{" + 
268                    "entityId=" + getEntityId() +
269                    ", itemPK=" + getItemPK() +
270                    ", itemName=" + getItemName() +
271                    ", itemTypePK=" + getItemTypePK() +
272                    ", itemUseTypePK=" + getItemUseTypePK() +
273                    ", itemCategoryPK=" + getItemCategoryPK() +
274                    ", itemAccountingCategoryPK=" + getItemAccountingCategoryPK() +
275                    ", itemPurchasingCategoryPK=" + getItemPurchasingCategoryPK() +
276                    ", companyPartyPK=" + getCompanyPartyPK() +
277                    ", itemDeliveryTypePK=" + getItemDeliveryTypePK() +
278                    ", itemInventoryTypePK=" + getItemInventoryTypePK() +
279                    ", inventorySerialized=" + getInventorySerialized() +
280                    ", serialNumberSequencePK=" + getSerialNumberSequencePK() +
281                    ", shippingChargeExempt=" + getShippingChargeExempt() +
282                    ", shippingStartTime=" + getShippingStartTime() +
283                    ", shippingEndTime=" + getShippingEndTime() +
284                    ", salesOrderStartTime=" + getSalesOrderStartTime() +
285                    ", salesOrderEndTime=" + getSalesOrderEndTime() +
286                    ", purchaseOrderStartTime=" + getPurchaseOrderStartTime() +
287                    ", purchaseOrderEndTime=" + getPurchaseOrderEndTime() +
288                    ", allowClubDiscounts=" + getAllowClubDiscounts() +
289                    ", allowCouponDiscounts=" + getAllowCouponDiscounts() +
290                    ", allowAssociatePayments=" + getAllowAssociatePayments() +
291                    ", unitOfMeasureKindPK=" + getUnitOfMeasureKindPK() +
292                    ", itemPriceTypePK=" + getItemPriceTypePK() +
293                    ", cancellationPolicyPK=" + getCancellationPolicyPK() +
294                    ", returnPolicyPK=" + getReturnPolicyPK() +
295                    ", stylePathPK=" + getStylePathPK() +
296                    ", fromTime=" + getFromTime() +
297                    ", thruTime=" + getThruTime() +
298                    "}";
299        }
300        return _stringValue;
301    }
302    
303    @Override
304    public boolean equals(Object other) {
305        if(this == other)
306            return true;
307        
308        if(!hasIdentity())
309            return false;
310        
311        if(other instanceof  ItemDetailValue that) {
312            if(!that.hasIdentity())
313                return false;
314            
315            Long thisEntityId = getEntityId();
316            Long thatEntityId = that.getEntityId();
317            
318            boolean objectsEqual = thisEntityId.equals(thatEntityId);
319            if(objectsEqual)
320                objectsEqual = isIdentical(that);
321            
322            return objectsEqual;
323        } else {
324            return false;
325        }
326    }
327    
328    public boolean isIdentical(Object other) {
329        if(other instanceof ItemDetailValue that) {
330            boolean objectsEqual = true;
331            
332            
333            if(objectsEqual) {
334                ItemPK thisItemPK = getItemPK();
335                ItemPK thatItemPK = that.getItemPK();
336                
337                if(thisItemPK == null) {
338                    objectsEqual = objectsEqual && (thatItemPK == null);
339                } else {
340                    objectsEqual = objectsEqual && thisItemPK.equals(thatItemPK);
341                }
342            }
343            
344            if(objectsEqual) {
345                String thisItemName = getItemName();
346                String thatItemName = that.getItemName();
347                
348                if(thisItemName == null) {
349                    objectsEqual = objectsEqual && (thatItemName == null);
350                } else {
351                    objectsEqual = objectsEqual && thisItemName.equals(thatItemName);
352                }
353            }
354            
355            if(objectsEqual) {
356                ItemTypePK thisItemTypePK = getItemTypePK();
357                ItemTypePK thatItemTypePK = that.getItemTypePK();
358                
359                if(thisItemTypePK == null) {
360                    objectsEqual = objectsEqual && (thatItemTypePK == null);
361                } else {
362                    objectsEqual = objectsEqual && thisItemTypePK.equals(thatItemTypePK);
363                }
364            }
365            
366            if(objectsEqual) {
367                ItemUseTypePK thisItemUseTypePK = getItemUseTypePK();
368                ItemUseTypePK thatItemUseTypePK = that.getItemUseTypePK();
369                
370                if(thisItemUseTypePK == null) {
371                    objectsEqual = objectsEqual && (thatItemUseTypePK == null);
372                } else {
373                    objectsEqual = objectsEqual && thisItemUseTypePK.equals(thatItemUseTypePK);
374                }
375            }
376            
377            if(objectsEqual) {
378                ItemCategoryPK thisItemCategoryPK = getItemCategoryPK();
379                ItemCategoryPK thatItemCategoryPK = that.getItemCategoryPK();
380                
381                if(thisItemCategoryPK == null) {
382                    objectsEqual = objectsEqual && (thatItemCategoryPK == null);
383                } else {
384                    objectsEqual = objectsEqual && thisItemCategoryPK.equals(thatItemCategoryPK);
385                }
386            }
387            
388            if(objectsEqual) {
389                ItemAccountingCategoryPK thisItemAccountingCategoryPK = getItemAccountingCategoryPK();
390                ItemAccountingCategoryPK thatItemAccountingCategoryPK = that.getItemAccountingCategoryPK();
391                
392                if(thisItemAccountingCategoryPK == null) {
393                    objectsEqual = objectsEqual && (thatItemAccountingCategoryPK == null);
394                } else {
395                    objectsEqual = objectsEqual && thisItemAccountingCategoryPK.equals(thatItemAccountingCategoryPK);
396                }
397            }
398            
399            if(objectsEqual) {
400                ItemPurchasingCategoryPK thisItemPurchasingCategoryPK = getItemPurchasingCategoryPK();
401                ItemPurchasingCategoryPK thatItemPurchasingCategoryPK = that.getItemPurchasingCategoryPK();
402                
403                if(thisItemPurchasingCategoryPK == null) {
404                    objectsEqual = objectsEqual && (thatItemPurchasingCategoryPK == null);
405                } else {
406                    objectsEqual = objectsEqual && thisItemPurchasingCategoryPK.equals(thatItemPurchasingCategoryPK);
407                }
408            }
409            
410            if(objectsEqual) {
411                PartyPK thisCompanyPartyPK = getCompanyPartyPK();
412                PartyPK thatCompanyPartyPK = that.getCompanyPartyPK();
413                
414                if(thisCompanyPartyPK == null) {
415                    objectsEqual = objectsEqual && (thatCompanyPartyPK == null);
416                } else {
417                    objectsEqual = objectsEqual && thisCompanyPartyPK.equals(thatCompanyPartyPK);
418                }
419            }
420            
421            if(objectsEqual) {
422                ItemDeliveryTypePK thisItemDeliveryTypePK = getItemDeliveryTypePK();
423                ItemDeliveryTypePK thatItemDeliveryTypePK = that.getItemDeliveryTypePK();
424                
425                if(thisItemDeliveryTypePK == null) {
426                    objectsEqual = objectsEqual && (thatItemDeliveryTypePK == null);
427                } else {
428                    objectsEqual = objectsEqual && thisItemDeliveryTypePK.equals(thatItemDeliveryTypePK);
429                }
430            }
431            
432            if(objectsEqual) {
433                ItemInventoryTypePK thisItemInventoryTypePK = getItemInventoryTypePK();
434                ItemInventoryTypePK thatItemInventoryTypePK = that.getItemInventoryTypePK();
435                
436                if(thisItemInventoryTypePK == null) {
437                    objectsEqual = objectsEqual && (thatItemInventoryTypePK == null);
438                } else {
439                    objectsEqual = objectsEqual && thisItemInventoryTypePK.equals(thatItemInventoryTypePK);
440                }
441            }
442            
443            if(objectsEqual) {
444                Boolean thisInventorySerialized = getInventorySerialized();
445                Boolean thatInventorySerialized = that.getInventorySerialized();
446                
447                if(thisInventorySerialized == null) {
448                    objectsEqual = objectsEqual && (thatInventorySerialized == null);
449                } else {
450                    objectsEqual = objectsEqual && thisInventorySerialized.equals(thatInventorySerialized);
451                }
452            }
453            
454            if(objectsEqual) {
455                SequencePK thisSerialNumberSequencePK = getSerialNumberSequencePK();
456                SequencePK thatSerialNumberSequencePK = that.getSerialNumberSequencePK();
457                
458                if(thisSerialNumberSequencePK == null) {
459                    objectsEqual = objectsEqual && (thatSerialNumberSequencePK == null);
460                } else {
461                    objectsEqual = objectsEqual && thisSerialNumberSequencePK.equals(thatSerialNumberSequencePK);
462                }
463            }
464            
465            if(objectsEqual) {
466                Boolean thisShippingChargeExempt = getShippingChargeExempt();
467                Boolean thatShippingChargeExempt = that.getShippingChargeExempt();
468                
469                if(thisShippingChargeExempt == null) {
470                    objectsEqual = objectsEqual && (thatShippingChargeExempt == null);
471                } else {
472                    objectsEqual = objectsEqual && thisShippingChargeExempt.equals(thatShippingChargeExempt);
473                }
474            }
475            
476            if(objectsEqual) {
477                Long thisShippingStartTime = getShippingStartTime();
478                Long thatShippingStartTime = that.getShippingStartTime();
479                
480                if(thisShippingStartTime == null) {
481                    objectsEqual = objectsEqual && (thatShippingStartTime == null);
482                } else {
483                    objectsEqual = objectsEqual && thisShippingStartTime.equals(thatShippingStartTime);
484                }
485            }
486            
487            if(objectsEqual) {
488                Long thisShippingEndTime = getShippingEndTime();
489                Long thatShippingEndTime = that.getShippingEndTime();
490                
491                if(thisShippingEndTime == null) {
492                    objectsEqual = objectsEqual && (thatShippingEndTime == null);
493                } else {
494                    objectsEqual = objectsEqual && thisShippingEndTime.equals(thatShippingEndTime);
495                }
496            }
497            
498            if(objectsEqual) {
499                Long thisSalesOrderStartTime = getSalesOrderStartTime();
500                Long thatSalesOrderStartTime = that.getSalesOrderStartTime();
501                
502                if(thisSalesOrderStartTime == null) {
503                    objectsEqual = objectsEqual && (thatSalesOrderStartTime == null);
504                } else {
505                    objectsEqual = objectsEqual && thisSalesOrderStartTime.equals(thatSalesOrderStartTime);
506                }
507            }
508            
509            if(objectsEqual) {
510                Long thisSalesOrderEndTime = getSalesOrderEndTime();
511                Long thatSalesOrderEndTime = that.getSalesOrderEndTime();
512                
513                if(thisSalesOrderEndTime == null) {
514                    objectsEqual = objectsEqual && (thatSalesOrderEndTime == null);
515                } else {
516                    objectsEqual = objectsEqual && thisSalesOrderEndTime.equals(thatSalesOrderEndTime);
517                }
518            }
519            
520            if(objectsEqual) {
521                Long thisPurchaseOrderStartTime = getPurchaseOrderStartTime();
522                Long thatPurchaseOrderStartTime = that.getPurchaseOrderStartTime();
523                
524                if(thisPurchaseOrderStartTime == null) {
525                    objectsEqual = objectsEqual && (thatPurchaseOrderStartTime == null);
526                } else {
527                    objectsEqual = objectsEqual && thisPurchaseOrderStartTime.equals(thatPurchaseOrderStartTime);
528                }
529            }
530            
531            if(objectsEqual) {
532                Long thisPurchaseOrderEndTime = getPurchaseOrderEndTime();
533                Long thatPurchaseOrderEndTime = that.getPurchaseOrderEndTime();
534                
535                if(thisPurchaseOrderEndTime == null) {
536                    objectsEqual = objectsEqual && (thatPurchaseOrderEndTime == null);
537                } else {
538                    objectsEqual = objectsEqual && thisPurchaseOrderEndTime.equals(thatPurchaseOrderEndTime);
539                }
540            }
541            
542            if(objectsEqual) {
543                Boolean thisAllowClubDiscounts = getAllowClubDiscounts();
544                Boolean thatAllowClubDiscounts = that.getAllowClubDiscounts();
545                
546                if(thisAllowClubDiscounts == null) {
547                    objectsEqual = objectsEqual && (thatAllowClubDiscounts == null);
548                } else {
549                    objectsEqual = objectsEqual && thisAllowClubDiscounts.equals(thatAllowClubDiscounts);
550                }
551            }
552            
553            if(objectsEqual) {
554                Boolean thisAllowCouponDiscounts = getAllowCouponDiscounts();
555                Boolean thatAllowCouponDiscounts = that.getAllowCouponDiscounts();
556                
557                if(thisAllowCouponDiscounts == null) {
558                    objectsEqual = objectsEqual && (thatAllowCouponDiscounts == null);
559                } else {
560                    objectsEqual = objectsEqual && thisAllowCouponDiscounts.equals(thatAllowCouponDiscounts);
561                }
562            }
563            
564            if(objectsEqual) {
565                Boolean thisAllowAssociatePayments = getAllowAssociatePayments();
566                Boolean thatAllowAssociatePayments = that.getAllowAssociatePayments();
567                
568                if(thisAllowAssociatePayments == null) {
569                    objectsEqual = objectsEqual && (thatAllowAssociatePayments == null);
570                } else {
571                    objectsEqual = objectsEqual && thisAllowAssociatePayments.equals(thatAllowAssociatePayments);
572                }
573            }
574            
575            if(objectsEqual) {
576                UnitOfMeasureKindPK thisUnitOfMeasureKindPK = getUnitOfMeasureKindPK();
577                UnitOfMeasureKindPK thatUnitOfMeasureKindPK = that.getUnitOfMeasureKindPK();
578                
579                if(thisUnitOfMeasureKindPK == null) {
580                    objectsEqual = objectsEqual && (thatUnitOfMeasureKindPK == null);
581                } else {
582                    objectsEqual = objectsEqual && thisUnitOfMeasureKindPK.equals(thatUnitOfMeasureKindPK);
583                }
584            }
585            
586            if(objectsEqual) {
587                ItemPriceTypePK thisItemPriceTypePK = getItemPriceTypePK();
588                ItemPriceTypePK thatItemPriceTypePK = that.getItemPriceTypePK();
589                
590                if(thisItemPriceTypePK == null) {
591                    objectsEqual = objectsEqual && (thatItemPriceTypePK == null);
592                } else {
593                    objectsEqual = objectsEqual && thisItemPriceTypePK.equals(thatItemPriceTypePK);
594                }
595            }
596            
597            if(objectsEqual) {
598                CancellationPolicyPK thisCancellationPolicyPK = getCancellationPolicyPK();
599                CancellationPolicyPK thatCancellationPolicyPK = that.getCancellationPolicyPK();
600                
601                if(thisCancellationPolicyPK == null) {
602                    objectsEqual = objectsEqual && (thatCancellationPolicyPK == null);
603                } else {
604                    objectsEqual = objectsEqual && thisCancellationPolicyPK.equals(thatCancellationPolicyPK);
605                }
606            }
607            
608            if(objectsEqual) {
609                ReturnPolicyPK thisReturnPolicyPK = getReturnPolicyPK();
610                ReturnPolicyPK thatReturnPolicyPK = that.getReturnPolicyPK();
611                
612                if(thisReturnPolicyPK == null) {
613                    objectsEqual = objectsEqual && (thatReturnPolicyPK == null);
614                } else {
615                    objectsEqual = objectsEqual && thisReturnPolicyPK.equals(thatReturnPolicyPK);
616                }
617            }
618            
619            if(objectsEqual) {
620                StylePathPK thisStylePathPK = getStylePathPK();
621                StylePathPK thatStylePathPK = that.getStylePathPK();
622                
623                if(thisStylePathPK == null) {
624                    objectsEqual = objectsEqual && (thatStylePathPK == null);
625                } else {
626                    objectsEqual = objectsEqual && thisStylePathPK.equals(thatStylePathPK);
627                }
628            }
629            
630            if(objectsEqual) {
631                Long thisFromTime = getFromTime();
632                Long thatFromTime = that.getFromTime();
633                
634                if(thisFromTime == null) {
635                    objectsEqual = objectsEqual && (thatFromTime == null);
636                } else {
637                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
638                }
639            }
640            
641            if(objectsEqual) {
642                Long thisThruTime = getThruTime();
643                Long thatThruTime = that.getThruTime();
644                
645                if(thisThruTime == null) {
646                    objectsEqual = objectsEqual && (thatThruTime == null);
647                } else {
648                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
649                }
650            }
651            
652            return objectsEqual;
653        } else {
654            return false;
655        }
656    }
657    
658    @Override
659    public boolean hasBeenModified() {
660        return itemPKHasBeenModified || itemNameHasBeenModified || itemTypePKHasBeenModified || itemUseTypePKHasBeenModified || itemCategoryPKHasBeenModified || itemAccountingCategoryPKHasBeenModified || itemPurchasingCategoryPKHasBeenModified || companyPartyPKHasBeenModified || itemDeliveryTypePKHasBeenModified || itemInventoryTypePKHasBeenModified || inventorySerializedHasBeenModified || serialNumberSequencePKHasBeenModified || shippingChargeExemptHasBeenModified || shippingStartTimeHasBeenModified || shippingEndTimeHasBeenModified || salesOrderStartTimeHasBeenModified || salesOrderEndTimeHasBeenModified || purchaseOrderStartTimeHasBeenModified || purchaseOrderEndTimeHasBeenModified || allowClubDiscountsHasBeenModified || allowCouponDiscountsHasBeenModified || allowAssociatePaymentsHasBeenModified || unitOfMeasureKindPKHasBeenModified || itemPriceTypePKHasBeenModified || cancellationPolicyPKHasBeenModified || returnPolicyPKHasBeenModified || stylePathPKHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
661    }
662    
663    @Override
664    public void clearHasBeenModified() {
665        itemPKHasBeenModified = false;
666        itemNameHasBeenModified = false;
667        itemTypePKHasBeenModified = false;
668        itemUseTypePKHasBeenModified = false;
669        itemCategoryPKHasBeenModified = false;
670        itemAccountingCategoryPKHasBeenModified = false;
671        itemPurchasingCategoryPKHasBeenModified = false;
672        companyPartyPKHasBeenModified = false;
673        itemDeliveryTypePKHasBeenModified = false;
674        itemInventoryTypePKHasBeenModified = false;
675        inventorySerializedHasBeenModified = false;
676        serialNumberSequencePKHasBeenModified = false;
677        shippingChargeExemptHasBeenModified = false;
678        shippingStartTimeHasBeenModified = false;
679        shippingEndTimeHasBeenModified = false;
680        salesOrderStartTimeHasBeenModified = false;
681        salesOrderEndTimeHasBeenModified = false;
682        purchaseOrderStartTimeHasBeenModified = false;
683        purchaseOrderEndTimeHasBeenModified = false;
684        allowClubDiscountsHasBeenModified = false;
685        allowCouponDiscountsHasBeenModified = false;
686        allowAssociatePaymentsHasBeenModified = false;
687        unitOfMeasureKindPKHasBeenModified = false;
688        itemPriceTypePKHasBeenModified = false;
689        cancellationPolicyPKHasBeenModified = false;
690        returnPolicyPKHasBeenModified = false;
691        stylePathPKHasBeenModified = false;
692        fromTimeHasBeenModified = false;
693        thruTimeHasBeenModified = false;
694    }
695    
696    @Nonnull
697    public ItemPK getItemPK() {
698        return itemPK;
699    }
700    
701    public void setItemPK(@Nonnull ItemPK itemPK)
702            throws PersistenceNotNullException {
703        checkForNull(itemPK);
704        
705        boolean update = true;
706        
707        if(this.itemPK != null) {
708            if(this.itemPK.equals(itemPK)) {
709                update = false;
710            }
711        } else if(itemPK == null) {
712            update = false;
713        }
714        
715        if(update) {
716            this.itemPK = itemPK;
717            itemPKHasBeenModified = true;
718            clearHashAndString();
719        }
720    }
721    
722    public boolean getItemPKHasBeenModified() {
723        return itemPKHasBeenModified;
724    }
725    
726    @Nonnull
727    public String getItemName() {
728        return itemName;
729    }
730    
731    public void setItemName(@Nonnull String itemName)
732            throws PersistenceNotNullException {
733        checkForNull(itemName);
734        
735        boolean update = true;
736        
737        if(this.itemName != null) {
738            if(this.itemName.equals(itemName)) {
739                update = false;
740            }
741        } else if(itemName == null) {
742            update = false;
743        }
744        
745        if(update) {
746            this.itemName = itemName;
747            itemNameHasBeenModified = true;
748            clearHashAndString();
749        }
750    }
751    
752    public boolean getItemNameHasBeenModified() {
753        return itemNameHasBeenModified;
754    }
755    
756    @Nonnull
757    public ItemTypePK getItemTypePK() {
758        return itemTypePK;
759    }
760    
761    public void setItemTypePK(@Nonnull ItemTypePK itemTypePK)
762            throws PersistenceNotNullException {
763        checkForNull(itemTypePK);
764        
765        boolean update = true;
766        
767        if(this.itemTypePK != null) {
768            if(this.itemTypePK.equals(itemTypePK)) {
769                update = false;
770            }
771        } else if(itemTypePK == null) {
772            update = false;
773        }
774        
775        if(update) {
776            this.itemTypePK = itemTypePK;
777            itemTypePKHasBeenModified = true;
778            clearHashAndString();
779        }
780    }
781    
782    public boolean getItemTypePKHasBeenModified() {
783        return itemTypePKHasBeenModified;
784    }
785    
786    @Nonnull
787    public ItemUseTypePK getItemUseTypePK() {
788        return itemUseTypePK;
789    }
790    
791    public void setItemUseTypePK(@Nonnull ItemUseTypePK itemUseTypePK)
792            throws PersistenceNotNullException {
793        checkForNull(itemUseTypePK);
794        
795        boolean update = true;
796        
797        if(this.itemUseTypePK != null) {
798            if(this.itemUseTypePK.equals(itemUseTypePK)) {
799                update = false;
800            }
801        } else if(itemUseTypePK == null) {
802            update = false;
803        }
804        
805        if(update) {
806            this.itemUseTypePK = itemUseTypePK;
807            itemUseTypePKHasBeenModified = true;
808            clearHashAndString();
809        }
810    }
811    
812    public boolean getItemUseTypePKHasBeenModified() {
813        return itemUseTypePKHasBeenModified;
814    }
815    
816    @Nonnull
817    public ItemCategoryPK getItemCategoryPK() {
818        return itemCategoryPK;
819    }
820    
821    public void setItemCategoryPK(@Nonnull ItemCategoryPK itemCategoryPK)
822            throws PersistenceNotNullException {
823        checkForNull(itemCategoryPK);
824        
825        boolean update = true;
826        
827        if(this.itemCategoryPK != null) {
828            if(this.itemCategoryPK.equals(itemCategoryPK)) {
829                update = false;
830            }
831        } else if(itemCategoryPK == null) {
832            update = false;
833        }
834        
835        if(update) {
836            this.itemCategoryPK = itemCategoryPK;
837            itemCategoryPKHasBeenModified = true;
838            clearHashAndString();
839        }
840    }
841    
842    public boolean getItemCategoryPKHasBeenModified() {
843        return itemCategoryPKHasBeenModified;
844    }
845    
846    @Nullable
847    public ItemAccountingCategoryPK getItemAccountingCategoryPK() {
848        return itemAccountingCategoryPK;
849    }
850    
851    public void setItemAccountingCategoryPK(@Nullable ItemAccountingCategoryPK itemAccountingCategoryPK) {
852        boolean update = true;
853        
854        if(this.itemAccountingCategoryPK != null) {
855            if(this.itemAccountingCategoryPK.equals(itemAccountingCategoryPK)) {
856                update = false;
857            }
858        } else if(itemAccountingCategoryPK == null) {
859            update = false;
860        }
861        
862        if(update) {
863            this.itemAccountingCategoryPK = itemAccountingCategoryPK;
864            itemAccountingCategoryPKHasBeenModified = true;
865            clearHashAndString();
866        }
867    }
868    
869    public boolean getItemAccountingCategoryPKHasBeenModified() {
870        return itemAccountingCategoryPKHasBeenModified;
871    }
872    
873    @Nullable
874    public ItemPurchasingCategoryPK getItemPurchasingCategoryPK() {
875        return itemPurchasingCategoryPK;
876    }
877    
878    public void setItemPurchasingCategoryPK(@Nullable ItemPurchasingCategoryPK itemPurchasingCategoryPK) {
879        boolean update = true;
880        
881        if(this.itemPurchasingCategoryPK != null) {
882            if(this.itemPurchasingCategoryPK.equals(itemPurchasingCategoryPK)) {
883                update = false;
884            }
885        } else if(itemPurchasingCategoryPK == null) {
886            update = false;
887        }
888        
889        if(update) {
890            this.itemPurchasingCategoryPK = itemPurchasingCategoryPK;
891            itemPurchasingCategoryPKHasBeenModified = true;
892            clearHashAndString();
893        }
894    }
895    
896    public boolean getItemPurchasingCategoryPKHasBeenModified() {
897        return itemPurchasingCategoryPKHasBeenModified;
898    }
899    
900    @Nonnull
901    public PartyPK getCompanyPartyPK() {
902        return companyPartyPK;
903    }
904    
905    public void setCompanyPartyPK(@Nonnull PartyPK companyPartyPK)
906            throws PersistenceNotNullException {
907        checkForNull(companyPartyPK);
908        
909        boolean update = true;
910        
911        if(this.companyPartyPK != null) {
912            if(this.companyPartyPK.equals(companyPartyPK)) {
913                update = false;
914            }
915        } else if(companyPartyPK == null) {
916            update = false;
917        }
918        
919        if(update) {
920            this.companyPartyPK = companyPartyPK;
921            companyPartyPKHasBeenModified = true;
922            clearHashAndString();
923        }
924    }
925    
926    public boolean getCompanyPartyPKHasBeenModified() {
927        return companyPartyPKHasBeenModified;
928    }
929    
930    @Nullable
931    public ItemDeliveryTypePK getItemDeliveryTypePK() {
932        return itemDeliveryTypePK;
933    }
934    
935    public void setItemDeliveryTypePK(@Nullable ItemDeliveryTypePK itemDeliveryTypePK) {
936        boolean update = true;
937        
938        if(this.itemDeliveryTypePK != null) {
939            if(this.itemDeliveryTypePK.equals(itemDeliveryTypePK)) {
940                update = false;
941            }
942        } else if(itemDeliveryTypePK == null) {
943            update = false;
944        }
945        
946        if(update) {
947            this.itemDeliveryTypePK = itemDeliveryTypePK;
948            itemDeliveryTypePKHasBeenModified = true;
949            clearHashAndString();
950        }
951    }
952    
953    public boolean getItemDeliveryTypePKHasBeenModified() {
954        return itemDeliveryTypePKHasBeenModified;
955    }
956    
957    @Nullable
958    public ItemInventoryTypePK getItemInventoryTypePK() {
959        return itemInventoryTypePK;
960    }
961    
962    public void setItemInventoryTypePK(@Nullable ItemInventoryTypePK itemInventoryTypePK) {
963        boolean update = true;
964        
965        if(this.itemInventoryTypePK != null) {
966            if(this.itemInventoryTypePK.equals(itemInventoryTypePK)) {
967                update = false;
968            }
969        } else if(itemInventoryTypePK == null) {
970            update = false;
971        }
972        
973        if(update) {
974            this.itemInventoryTypePK = itemInventoryTypePK;
975            itemInventoryTypePKHasBeenModified = true;
976            clearHashAndString();
977        }
978    }
979    
980    public boolean getItemInventoryTypePKHasBeenModified() {
981        return itemInventoryTypePKHasBeenModified;
982    }
983    
984    @Nullable
985    public Boolean getInventorySerialized() {
986        return inventorySerialized;
987    }
988    
989    public void setInventorySerialized(@Nullable Boolean inventorySerialized) {
990        boolean update = true;
991        
992        if(this.inventorySerialized != null) {
993            if(this.inventorySerialized.equals(inventorySerialized)) {
994                update = false;
995            }
996        } else if(inventorySerialized == null) {
997            update = false;
998        }
999        
1000        if(update) {
1001            this.inventorySerialized = inventorySerialized;
1002            inventorySerializedHasBeenModified = true;
1003            clearHashAndString();
1004        }
1005    }
1006    
1007    public boolean getInventorySerializedHasBeenModified() {
1008        return inventorySerializedHasBeenModified;
1009    }
1010    
1011    @Nullable
1012    public SequencePK getSerialNumberSequencePK() {
1013        return serialNumberSequencePK;
1014    }
1015    
1016    public void setSerialNumberSequencePK(@Nullable SequencePK serialNumberSequencePK) {
1017        boolean update = true;
1018        
1019        if(this.serialNumberSequencePK != null) {
1020            if(this.serialNumberSequencePK.equals(serialNumberSequencePK)) {
1021                update = false;
1022            }
1023        } else if(serialNumberSequencePK == null) {
1024            update = false;
1025        }
1026        
1027        if(update) {
1028            this.serialNumberSequencePK = serialNumberSequencePK;
1029            serialNumberSequencePKHasBeenModified = true;
1030            clearHashAndString();
1031        }
1032    }
1033    
1034    public boolean getSerialNumberSequencePKHasBeenModified() {
1035        return serialNumberSequencePKHasBeenModified;
1036    }
1037    
1038    @Nonnull
1039    public Boolean getShippingChargeExempt() {
1040        return shippingChargeExempt;
1041    }
1042    
1043    public void setShippingChargeExempt(@Nonnull Boolean shippingChargeExempt)
1044            throws PersistenceNotNullException {
1045        checkForNull(shippingChargeExempt);
1046        
1047        boolean update = true;
1048        
1049        if(this.shippingChargeExempt != null) {
1050            if(this.shippingChargeExempt.equals(shippingChargeExempt)) {
1051                update = false;
1052            }
1053        } else if(shippingChargeExempt == null) {
1054            update = false;
1055        }
1056        
1057        if(update) {
1058            this.shippingChargeExempt = shippingChargeExempt;
1059            shippingChargeExemptHasBeenModified = true;
1060            clearHashAndString();
1061        }
1062    }
1063    
1064    public boolean getShippingChargeExemptHasBeenModified() {
1065        return shippingChargeExemptHasBeenModified;
1066    }
1067    
1068    @Nonnull
1069    public Long getShippingStartTime() {
1070        return shippingStartTime;
1071    }
1072    
1073    public void setShippingStartTime(@Nonnull Long shippingStartTime)
1074            throws PersistenceNotNullException {
1075        checkForNull(shippingStartTime);
1076        
1077        boolean update = true;
1078        
1079        if(this.shippingStartTime != null) {
1080            if(this.shippingStartTime.equals(shippingStartTime)) {
1081                update = false;
1082            }
1083        } else if(shippingStartTime == null) {
1084            update = false;
1085        }
1086        
1087        if(update) {
1088            this.shippingStartTime = shippingStartTime;
1089            shippingStartTimeHasBeenModified = true;
1090            clearHashAndString();
1091        }
1092    }
1093    
1094    public boolean getShippingStartTimeHasBeenModified() {
1095        return shippingStartTimeHasBeenModified;
1096    }
1097    
1098    @Nullable
1099    public Long getShippingEndTime() {
1100        return shippingEndTime;
1101    }
1102    
1103    public void setShippingEndTime(@Nullable Long shippingEndTime) {
1104        boolean update = true;
1105        
1106        if(this.shippingEndTime != null) {
1107            if(this.shippingEndTime.equals(shippingEndTime)) {
1108                update = false;
1109            }
1110        } else if(shippingEndTime == null) {
1111            update = false;
1112        }
1113        
1114        if(update) {
1115            this.shippingEndTime = shippingEndTime;
1116            shippingEndTimeHasBeenModified = true;
1117            clearHashAndString();
1118        }
1119    }
1120    
1121    public boolean getShippingEndTimeHasBeenModified() {
1122        return shippingEndTimeHasBeenModified;
1123    }
1124    
1125    @Nonnull
1126    public Long getSalesOrderStartTime() {
1127        return salesOrderStartTime;
1128    }
1129    
1130    public void setSalesOrderStartTime(@Nonnull Long salesOrderStartTime)
1131            throws PersistenceNotNullException {
1132        checkForNull(salesOrderStartTime);
1133        
1134        boolean update = true;
1135        
1136        if(this.salesOrderStartTime != null) {
1137            if(this.salesOrderStartTime.equals(salesOrderStartTime)) {
1138                update = false;
1139            }
1140        } else if(salesOrderStartTime == null) {
1141            update = false;
1142        }
1143        
1144        if(update) {
1145            this.salesOrderStartTime = salesOrderStartTime;
1146            salesOrderStartTimeHasBeenModified = true;
1147            clearHashAndString();
1148        }
1149    }
1150    
1151    public boolean getSalesOrderStartTimeHasBeenModified() {
1152        return salesOrderStartTimeHasBeenModified;
1153    }
1154    
1155    @Nullable
1156    public Long getSalesOrderEndTime() {
1157        return salesOrderEndTime;
1158    }
1159    
1160    public void setSalesOrderEndTime(@Nullable Long salesOrderEndTime) {
1161        boolean update = true;
1162        
1163        if(this.salesOrderEndTime != null) {
1164            if(this.salesOrderEndTime.equals(salesOrderEndTime)) {
1165                update = false;
1166            }
1167        } else if(salesOrderEndTime == null) {
1168            update = false;
1169        }
1170        
1171        if(update) {
1172            this.salesOrderEndTime = salesOrderEndTime;
1173            salesOrderEndTimeHasBeenModified = true;
1174            clearHashAndString();
1175        }
1176    }
1177    
1178    public boolean getSalesOrderEndTimeHasBeenModified() {
1179        return salesOrderEndTimeHasBeenModified;
1180    }
1181    
1182    @Nullable
1183    public Long getPurchaseOrderStartTime() {
1184        return purchaseOrderStartTime;
1185    }
1186    
1187    public void setPurchaseOrderStartTime(@Nullable Long purchaseOrderStartTime) {
1188        boolean update = true;
1189        
1190        if(this.purchaseOrderStartTime != null) {
1191            if(this.purchaseOrderStartTime.equals(purchaseOrderStartTime)) {
1192                update = false;
1193            }
1194        } else if(purchaseOrderStartTime == null) {
1195            update = false;
1196        }
1197        
1198        if(update) {
1199            this.purchaseOrderStartTime = purchaseOrderStartTime;
1200            purchaseOrderStartTimeHasBeenModified = true;
1201            clearHashAndString();
1202        }
1203    }
1204    
1205    public boolean getPurchaseOrderStartTimeHasBeenModified() {
1206        return purchaseOrderStartTimeHasBeenModified;
1207    }
1208    
1209    @Nullable
1210    public Long getPurchaseOrderEndTime() {
1211        return purchaseOrderEndTime;
1212    }
1213    
1214    public void setPurchaseOrderEndTime(@Nullable Long purchaseOrderEndTime) {
1215        boolean update = true;
1216        
1217        if(this.purchaseOrderEndTime != null) {
1218            if(this.purchaseOrderEndTime.equals(purchaseOrderEndTime)) {
1219                update = false;
1220            }
1221        } else if(purchaseOrderEndTime == null) {
1222            update = false;
1223        }
1224        
1225        if(update) {
1226            this.purchaseOrderEndTime = purchaseOrderEndTime;
1227            purchaseOrderEndTimeHasBeenModified = true;
1228            clearHashAndString();
1229        }
1230    }
1231    
1232    public boolean getPurchaseOrderEndTimeHasBeenModified() {
1233        return purchaseOrderEndTimeHasBeenModified;
1234    }
1235    
1236    @Nonnull
1237    public Boolean getAllowClubDiscounts() {
1238        return allowClubDiscounts;
1239    }
1240    
1241    public void setAllowClubDiscounts(@Nonnull Boolean allowClubDiscounts)
1242            throws PersistenceNotNullException {
1243        checkForNull(allowClubDiscounts);
1244        
1245        boolean update = true;
1246        
1247        if(this.allowClubDiscounts != null) {
1248            if(this.allowClubDiscounts.equals(allowClubDiscounts)) {
1249                update = false;
1250            }
1251        } else if(allowClubDiscounts == null) {
1252            update = false;
1253        }
1254        
1255        if(update) {
1256            this.allowClubDiscounts = allowClubDiscounts;
1257            allowClubDiscountsHasBeenModified = true;
1258            clearHashAndString();
1259        }
1260    }
1261    
1262    public boolean getAllowClubDiscountsHasBeenModified() {
1263        return allowClubDiscountsHasBeenModified;
1264    }
1265    
1266    @Nonnull
1267    public Boolean getAllowCouponDiscounts() {
1268        return allowCouponDiscounts;
1269    }
1270    
1271    public void setAllowCouponDiscounts(@Nonnull Boolean allowCouponDiscounts)
1272            throws PersistenceNotNullException {
1273        checkForNull(allowCouponDiscounts);
1274        
1275        boolean update = true;
1276        
1277        if(this.allowCouponDiscounts != null) {
1278            if(this.allowCouponDiscounts.equals(allowCouponDiscounts)) {
1279                update = false;
1280            }
1281        } else if(allowCouponDiscounts == null) {
1282            update = false;
1283        }
1284        
1285        if(update) {
1286            this.allowCouponDiscounts = allowCouponDiscounts;
1287            allowCouponDiscountsHasBeenModified = true;
1288            clearHashAndString();
1289        }
1290    }
1291    
1292    public boolean getAllowCouponDiscountsHasBeenModified() {
1293        return allowCouponDiscountsHasBeenModified;
1294    }
1295    
1296    @Nonnull
1297    public Boolean getAllowAssociatePayments() {
1298        return allowAssociatePayments;
1299    }
1300    
1301    public void setAllowAssociatePayments(@Nonnull Boolean allowAssociatePayments)
1302            throws PersistenceNotNullException {
1303        checkForNull(allowAssociatePayments);
1304        
1305        boolean update = true;
1306        
1307        if(this.allowAssociatePayments != null) {
1308            if(this.allowAssociatePayments.equals(allowAssociatePayments)) {
1309                update = false;
1310            }
1311        } else if(allowAssociatePayments == null) {
1312            update = false;
1313        }
1314        
1315        if(update) {
1316            this.allowAssociatePayments = allowAssociatePayments;
1317            allowAssociatePaymentsHasBeenModified = true;
1318            clearHashAndString();
1319        }
1320    }
1321    
1322    public boolean getAllowAssociatePaymentsHasBeenModified() {
1323        return allowAssociatePaymentsHasBeenModified;
1324    }
1325    
1326    @Nonnull
1327    public UnitOfMeasureKindPK getUnitOfMeasureKindPK() {
1328        return unitOfMeasureKindPK;
1329    }
1330    
1331    public void setUnitOfMeasureKindPK(@Nonnull UnitOfMeasureKindPK unitOfMeasureKindPK)
1332            throws PersistenceNotNullException {
1333        checkForNull(unitOfMeasureKindPK);
1334        
1335        boolean update = true;
1336        
1337        if(this.unitOfMeasureKindPK != null) {
1338            if(this.unitOfMeasureKindPK.equals(unitOfMeasureKindPK)) {
1339                update = false;
1340            }
1341        } else if(unitOfMeasureKindPK == null) {
1342            update = false;
1343        }
1344        
1345        if(update) {
1346            this.unitOfMeasureKindPK = unitOfMeasureKindPK;
1347            unitOfMeasureKindPKHasBeenModified = true;
1348            clearHashAndString();
1349        }
1350    }
1351    
1352    public boolean getUnitOfMeasureKindPKHasBeenModified() {
1353        return unitOfMeasureKindPKHasBeenModified;
1354    }
1355    
1356    @Nonnull
1357    public ItemPriceTypePK getItemPriceTypePK() {
1358        return itemPriceTypePK;
1359    }
1360    
1361    public void setItemPriceTypePK(@Nonnull ItemPriceTypePK itemPriceTypePK)
1362            throws PersistenceNotNullException {
1363        checkForNull(itemPriceTypePK);
1364        
1365        boolean update = true;
1366        
1367        if(this.itemPriceTypePK != null) {
1368            if(this.itemPriceTypePK.equals(itemPriceTypePK)) {
1369                update = false;
1370            }
1371        } else if(itemPriceTypePK == null) {
1372            update = false;
1373        }
1374        
1375        if(update) {
1376            this.itemPriceTypePK = itemPriceTypePK;
1377            itemPriceTypePKHasBeenModified = true;
1378            clearHashAndString();
1379        }
1380    }
1381    
1382    public boolean getItemPriceTypePKHasBeenModified() {
1383        return itemPriceTypePKHasBeenModified;
1384    }
1385    
1386    @Nullable
1387    public CancellationPolicyPK getCancellationPolicyPK() {
1388        return cancellationPolicyPK;
1389    }
1390    
1391    public void setCancellationPolicyPK(@Nullable CancellationPolicyPK cancellationPolicyPK) {
1392        boolean update = true;
1393        
1394        if(this.cancellationPolicyPK != null) {
1395            if(this.cancellationPolicyPK.equals(cancellationPolicyPK)) {
1396                update = false;
1397            }
1398        } else if(cancellationPolicyPK == null) {
1399            update = false;
1400        }
1401        
1402        if(update) {
1403            this.cancellationPolicyPK = cancellationPolicyPK;
1404            cancellationPolicyPKHasBeenModified = true;
1405            clearHashAndString();
1406        }
1407    }
1408    
1409    public boolean getCancellationPolicyPKHasBeenModified() {
1410        return cancellationPolicyPKHasBeenModified;
1411    }
1412    
1413    @Nullable
1414    public ReturnPolicyPK getReturnPolicyPK() {
1415        return returnPolicyPK;
1416    }
1417    
1418    public void setReturnPolicyPK(@Nullable ReturnPolicyPK returnPolicyPK) {
1419        boolean update = true;
1420        
1421        if(this.returnPolicyPK != null) {
1422            if(this.returnPolicyPK.equals(returnPolicyPK)) {
1423                update = false;
1424            }
1425        } else if(returnPolicyPK == null) {
1426            update = false;
1427        }
1428        
1429        if(update) {
1430            this.returnPolicyPK = returnPolicyPK;
1431            returnPolicyPKHasBeenModified = true;
1432            clearHashAndString();
1433        }
1434    }
1435    
1436    public boolean getReturnPolicyPKHasBeenModified() {
1437        return returnPolicyPKHasBeenModified;
1438    }
1439    
1440    @Nullable
1441    public StylePathPK getStylePathPK() {
1442        return stylePathPK;
1443    }
1444    
1445    public void setStylePathPK(@Nullable StylePathPK stylePathPK) {
1446        boolean update = true;
1447        
1448        if(this.stylePathPK != null) {
1449            if(this.stylePathPK.equals(stylePathPK)) {
1450                update = false;
1451            }
1452        } else if(stylePathPK == null) {
1453            update = false;
1454        }
1455        
1456        if(update) {
1457            this.stylePathPK = stylePathPK;
1458            stylePathPKHasBeenModified = true;
1459            clearHashAndString();
1460        }
1461    }
1462    
1463    public boolean getStylePathPKHasBeenModified() {
1464        return stylePathPKHasBeenModified;
1465    }
1466    
1467    @Nonnull
1468    public Long getFromTime() {
1469        return fromTime;
1470    }
1471    
1472    public void setFromTime(@Nonnull Long fromTime)
1473            throws PersistenceNotNullException {
1474        checkForNull(fromTime);
1475        
1476        boolean update = true;
1477        
1478        if(this.fromTime != null) {
1479            if(this.fromTime.equals(fromTime)) {
1480                update = false;
1481            }
1482        } else if(fromTime == null) {
1483            update = false;
1484        }
1485        
1486        if(update) {
1487            this.fromTime = fromTime;
1488            fromTimeHasBeenModified = true;
1489            clearHashAndString();
1490        }
1491    }
1492    
1493    public boolean getFromTimeHasBeenModified() {
1494        return fromTimeHasBeenModified;
1495    }
1496    
1497    @Nonnull
1498    public Long getThruTime() {
1499        return thruTime;
1500    }
1501    
1502    public void setThruTime(@Nonnull Long thruTime)
1503            throws PersistenceNotNullException {
1504        checkForNull(thruTime);
1505        
1506        boolean update = true;
1507        
1508        if(this.thruTime != null) {
1509            if(this.thruTime.equals(thruTime)) {
1510                update = false;
1511            }
1512        } else if(thruTime == null) {
1513            update = false;
1514        }
1515        
1516        if(update) {
1517            this.thruTime = thruTime;
1518            thruTimeHasBeenModified = true;
1519            clearHashAndString();
1520        }
1521    }
1522    
1523    public boolean getThruTimeHasBeenModified() {
1524        return thruTimeHasBeenModified;
1525    }
1526    
1527}