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 * ShipmentDetailValue.java
021 */
022
023package com.echothree.model.data.shipment.server.value;
024
025import com.echothree.model.data.shipment.common.pk.ShipmentDetailPK;
026
027import com.echothree.model.data.shipment.server.factory.ShipmentDetailFactory;
028
029import com.echothree.model.data.shipment.common.pk.ShipmentPK;
030import com.echothree.model.data.shipment.common.pk.ShipmentTypePK;
031import com.echothree.model.data.party.common.pk.PartyPK;
032import com.echothree.model.data.contact.common.pk.PartyContactMechanismPK;
033import com.echothree.model.data.shipping.common.pk.ShippingMethodPK;
034
035import com.echothree.util.common.exception.PersistenceCloneException;
036import com.echothree.util.common.exception.PersistenceNotNullException;
037
038import com.echothree.util.server.persistence.BaseValue;
039
040import java.io.Serializable;
041
042import javax.annotation.Nonnull;
043import javax.annotation.Nullable;
044
045public class ShipmentDetailValue
046        extends BaseValue<ShipmentDetailPK>
047        implements Cloneable, Serializable {
048    
049    private ShipmentPK shipmentPK;
050    private boolean shipmentPKHasBeenModified = false;
051    private ShipmentTypePK shipmentTypePK;
052    private boolean shipmentTypePKHasBeenModified = false;
053    private String shipmentName;
054    private boolean shipmentNameHasBeenModified = false;
055    private PartyPK originPartyPK;
056    private boolean originPartyPKHasBeenModified = false;
057    private PartyPK originWarehousePartyPK;
058    private boolean originWarehousePartyPKHasBeenModified = false;
059    private PartyContactMechanismPK originPartyContactMechanismPK;
060    private boolean originPartyContactMechanismPKHasBeenModified = false;
061    private PartyPK destinationPartyPK;
062    private boolean destinationPartyPKHasBeenModified = false;
063    private PartyPK destinationWarehousePartyPK;
064    private boolean destinationWarehousePartyPKHasBeenModified = false;
065    private PartyContactMechanismPK destinationPartyContactMechanismPK;
066    private boolean destinationPartyContactMechanismPKHasBeenModified = false;
067    private ShippingMethodPK shippingMethodPK;
068    private boolean shippingMethodPKHasBeenModified = false;
069    private Long fromTime;
070    private boolean fromTimeHasBeenModified = false;
071    private Long thruTime;
072    private boolean thruTimeHasBeenModified = false;
073    
074    private transient Integer _hashCode = null;
075    private transient String _stringValue = null;
076    
077    private void constructFields(ShipmentPK shipmentPK, ShipmentTypePK shipmentTypePK, String shipmentName, PartyPK originPartyPK, PartyPK originWarehousePartyPK, PartyContactMechanismPK originPartyContactMechanismPK, PartyPK destinationPartyPK, PartyPK destinationWarehousePartyPK, PartyContactMechanismPK destinationPartyContactMechanismPK, ShippingMethodPK shippingMethodPK, Long fromTime, Long thruTime)
078            throws PersistenceNotNullException {
079        checkForNull(shipmentPK);
080        this.shipmentPK = shipmentPK;
081        checkForNull(shipmentTypePK);
082        this.shipmentTypePK = shipmentTypePK;
083        checkForNull(shipmentName);
084        this.shipmentName = shipmentName;
085        checkForNull(originPartyPK);
086        this.originPartyPK = originPartyPK;
087        this.originWarehousePartyPK = originWarehousePartyPK;
088        this.originPartyContactMechanismPK = originPartyContactMechanismPK;
089        checkForNull(destinationPartyPK);
090        this.destinationPartyPK = destinationPartyPK;
091        this.destinationWarehousePartyPK = destinationWarehousePartyPK;
092        this.destinationPartyContactMechanismPK = destinationPartyContactMechanismPK;
093        this.shippingMethodPK = shippingMethodPK;
094        checkForNull(fromTime);
095        this.fromTime = fromTime;
096        checkForNull(thruTime);
097        this.thruTime = thruTime;
098    }
099    
100    /** Creates a new instance of ShipmentDetailValue */
101    public ShipmentDetailValue(ShipmentDetailPK shipmentDetailPK, ShipmentPK shipmentPK, ShipmentTypePK shipmentTypePK, String shipmentName, PartyPK originPartyPK, PartyPK originWarehousePartyPK, PartyContactMechanismPK originPartyContactMechanismPK, PartyPK destinationPartyPK, PartyPK destinationWarehousePartyPK, PartyContactMechanismPK destinationPartyContactMechanismPK, ShippingMethodPK shippingMethodPK, Long fromTime, Long thruTime)
102            throws PersistenceNotNullException {
103        super(shipmentDetailPK);
104        constructFields(shipmentPK, shipmentTypePK, shipmentName, originPartyPK, originWarehousePartyPK, originPartyContactMechanismPK, destinationPartyPK, destinationWarehousePartyPK, destinationPartyContactMechanismPK, shippingMethodPK, fromTime, thruTime);
105    }
106    
107    /** Creates a new instance of ShipmentDetailValue */
108    public ShipmentDetailValue(ShipmentPK shipmentPK, ShipmentTypePK shipmentTypePK, String shipmentName, PartyPK originPartyPK, PartyPK originWarehousePartyPK, PartyContactMechanismPK originPartyContactMechanismPK, PartyPK destinationPartyPK, PartyPK destinationWarehousePartyPK, PartyContactMechanismPK destinationPartyContactMechanismPK, ShippingMethodPK shippingMethodPK, Long fromTime, Long thruTime)
109            throws PersistenceNotNullException {
110        super();
111        constructFields(shipmentPK, shipmentTypePK, shipmentName, originPartyPK, originWarehousePartyPK, originPartyContactMechanismPK, destinationPartyPK, destinationWarehousePartyPK, destinationPartyContactMechanismPK, shippingMethodPK, fromTime, thruTime);
112    }
113    
114    @Override
115    @Nonnull
116    public ShipmentDetailFactory getBaseFactoryInstance() {
117        return ShipmentDetailFactory.getInstance();
118    }
119    
120    @Override
121    @Nonnull
122    public ShipmentDetailValue clone() {
123        Object result;
124        
125        try {
126            result = super.clone();
127        } catch (CloneNotSupportedException cnse) {
128            // This shouldn't happen, fail when it does.
129            throw new PersistenceCloneException(cnse);
130        }
131        
132        return (ShipmentDetailValue)result;
133    }
134    
135    @Override
136    @Nonnull
137    public ShipmentDetailPK getPrimaryKey() {
138        if(_primaryKey == null) {
139            _primaryKey = new ShipmentDetailPK(entityId);
140        }
141        
142        return _primaryKey;
143    }
144    
145    private void clearHashAndString() {
146        _hashCode = null;
147        _stringValue = null;
148    }
149    
150    @Override
151    public int hashCode() {
152        if(_hashCode == null) {
153            int hashCode = 17;
154            
155            hashCode = 37 * hashCode + ((entityId != null) ? entityId.hashCode() : 0);
156            
157            hashCode = 37 * hashCode + ((shipmentPK != null) ? shipmentPK.hashCode() : 0);
158            hashCode = 37 * hashCode + ((shipmentTypePK != null) ? shipmentTypePK.hashCode() : 0);
159            hashCode = 37 * hashCode + ((shipmentName != null) ? shipmentName.hashCode() : 0);
160            hashCode = 37 * hashCode + ((originPartyPK != null) ? originPartyPK.hashCode() : 0);
161            hashCode = 37 * hashCode + ((originWarehousePartyPK != null) ? originWarehousePartyPK.hashCode() : 0);
162            hashCode = 37 * hashCode + ((originPartyContactMechanismPK != null) ? originPartyContactMechanismPK.hashCode() : 0);
163            hashCode = 37 * hashCode + ((destinationPartyPK != null) ? destinationPartyPK.hashCode() : 0);
164            hashCode = 37 * hashCode + ((destinationWarehousePartyPK != null) ? destinationWarehousePartyPK.hashCode() : 0);
165            hashCode = 37 * hashCode + ((destinationPartyContactMechanismPK != null) ? destinationPartyContactMechanismPK.hashCode() : 0);
166            hashCode = 37 * hashCode + ((shippingMethodPK != null) ? shippingMethodPK.hashCode() : 0);
167            hashCode = 37 * hashCode + ((fromTime != null) ? fromTime.hashCode() : 0);
168            hashCode = 37 * hashCode + ((thruTime != null) ? thruTime.hashCode() : 0);
169            
170            _hashCode = hashCode;
171        }
172        
173        return _hashCode;
174    }
175    
176    @Override
177    @Nonnull
178    public String toString() {
179        if(_stringValue == null) {
180            _stringValue = "{" + 
181                    "entityId=" + getEntityId() +
182                    ", shipmentPK=" + getShipmentPK() +
183                    ", shipmentTypePK=" + getShipmentTypePK() +
184                    ", shipmentName=" + getShipmentName() +
185                    ", originPartyPK=" + getOriginPartyPK() +
186                    ", originWarehousePartyPK=" + getOriginWarehousePartyPK() +
187                    ", originPartyContactMechanismPK=" + getOriginPartyContactMechanismPK() +
188                    ", destinationPartyPK=" + getDestinationPartyPK() +
189                    ", destinationWarehousePartyPK=" + getDestinationWarehousePartyPK() +
190                    ", destinationPartyContactMechanismPK=" + getDestinationPartyContactMechanismPK() +
191                    ", shippingMethodPK=" + getShippingMethodPK() +
192                    ", fromTime=" + getFromTime() +
193                    ", thruTime=" + getThruTime() +
194                    "}";
195        }
196        return _stringValue;
197    }
198    
199    @Override
200    public boolean equals(Object other) {
201        if(this == other)
202            return true;
203        
204        if(!hasIdentity())
205            return false;
206        
207        if(other instanceof  ShipmentDetailValue that) {
208            if(!that.hasIdentity())
209                return false;
210            
211            Long thisEntityId = getEntityId();
212            Long thatEntityId = that.getEntityId();
213            
214            boolean objectsEqual = thisEntityId.equals(thatEntityId);
215            if(objectsEqual)
216                objectsEqual = isIdentical(that);
217            
218            return objectsEqual;
219        } else {
220            return false;
221        }
222    }
223    
224    public boolean isIdentical(Object other) {
225        if(other instanceof ShipmentDetailValue that) {
226            boolean objectsEqual = true;
227            
228            
229            if(objectsEqual) {
230                ShipmentPK thisShipmentPK = getShipmentPK();
231                ShipmentPK thatShipmentPK = that.getShipmentPK();
232                
233                if(thisShipmentPK == null) {
234                    objectsEqual = objectsEqual && (thatShipmentPK == null);
235                } else {
236                    objectsEqual = objectsEqual && thisShipmentPK.equals(thatShipmentPK);
237                }
238            }
239            
240            if(objectsEqual) {
241                ShipmentTypePK thisShipmentTypePK = getShipmentTypePK();
242                ShipmentTypePK thatShipmentTypePK = that.getShipmentTypePK();
243                
244                if(thisShipmentTypePK == null) {
245                    objectsEqual = objectsEqual && (thatShipmentTypePK == null);
246                } else {
247                    objectsEqual = objectsEqual && thisShipmentTypePK.equals(thatShipmentTypePK);
248                }
249            }
250            
251            if(objectsEqual) {
252                String thisShipmentName = getShipmentName();
253                String thatShipmentName = that.getShipmentName();
254                
255                if(thisShipmentName == null) {
256                    objectsEqual = objectsEqual && (thatShipmentName == null);
257                } else {
258                    objectsEqual = objectsEqual && thisShipmentName.equals(thatShipmentName);
259                }
260            }
261            
262            if(objectsEqual) {
263                PartyPK thisOriginPartyPK = getOriginPartyPK();
264                PartyPK thatOriginPartyPK = that.getOriginPartyPK();
265                
266                if(thisOriginPartyPK == null) {
267                    objectsEqual = objectsEqual && (thatOriginPartyPK == null);
268                } else {
269                    objectsEqual = objectsEqual && thisOriginPartyPK.equals(thatOriginPartyPK);
270                }
271            }
272            
273            if(objectsEqual) {
274                PartyPK thisOriginWarehousePartyPK = getOriginWarehousePartyPK();
275                PartyPK thatOriginWarehousePartyPK = that.getOriginWarehousePartyPK();
276                
277                if(thisOriginWarehousePartyPK == null) {
278                    objectsEqual = objectsEqual && (thatOriginWarehousePartyPK == null);
279                } else {
280                    objectsEqual = objectsEqual && thisOriginWarehousePartyPK.equals(thatOriginWarehousePartyPK);
281                }
282            }
283            
284            if(objectsEqual) {
285                PartyContactMechanismPK thisOriginPartyContactMechanismPK = getOriginPartyContactMechanismPK();
286                PartyContactMechanismPK thatOriginPartyContactMechanismPK = that.getOriginPartyContactMechanismPK();
287                
288                if(thisOriginPartyContactMechanismPK == null) {
289                    objectsEqual = objectsEqual && (thatOriginPartyContactMechanismPK == null);
290                } else {
291                    objectsEqual = objectsEqual && thisOriginPartyContactMechanismPK.equals(thatOriginPartyContactMechanismPK);
292                }
293            }
294            
295            if(objectsEqual) {
296                PartyPK thisDestinationPartyPK = getDestinationPartyPK();
297                PartyPK thatDestinationPartyPK = that.getDestinationPartyPK();
298                
299                if(thisDestinationPartyPK == null) {
300                    objectsEqual = objectsEqual && (thatDestinationPartyPK == null);
301                } else {
302                    objectsEqual = objectsEqual && thisDestinationPartyPK.equals(thatDestinationPartyPK);
303                }
304            }
305            
306            if(objectsEqual) {
307                PartyPK thisDestinationWarehousePartyPK = getDestinationWarehousePartyPK();
308                PartyPK thatDestinationWarehousePartyPK = that.getDestinationWarehousePartyPK();
309                
310                if(thisDestinationWarehousePartyPK == null) {
311                    objectsEqual = objectsEqual && (thatDestinationWarehousePartyPK == null);
312                } else {
313                    objectsEqual = objectsEqual && thisDestinationWarehousePartyPK.equals(thatDestinationWarehousePartyPK);
314                }
315            }
316            
317            if(objectsEqual) {
318                PartyContactMechanismPK thisDestinationPartyContactMechanismPK = getDestinationPartyContactMechanismPK();
319                PartyContactMechanismPK thatDestinationPartyContactMechanismPK = that.getDestinationPartyContactMechanismPK();
320                
321                if(thisDestinationPartyContactMechanismPK == null) {
322                    objectsEqual = objectsEqual && (thatDestinationPartyContactMechanismPK == null);
323                } else {
324                    objectsEqual = objectsEqual && thisDestinationPartyContactMechanismPK.equals(thatDestinationPartyContactMechanismPK);
325                }
326            }
327            
328            if(objectsEqual) {
329                ShippingMethodPK thisShippingMethodPK = getShippingMethodPK();
330                ShippingMethodPK thatShippingMethodPK = that.getShippingMethodPK();
331                
332                if(thisShippingMethodPK == null) {
333                    objectsEqual = objectsEqual && (thatShippingMethodPK == null);
334                } else {
335                    objectsEqual = objectsEqual && thisShippingMethodPK.equals(thatShippingMethodPK);
336                }
337            }
338            
339            if(objectsEqual) {
340                Long thisFromTime = getFromTime();
341                Long thatFromTime = that.getFromTime();
342                
343                if(thisFromTime == null) {
344                    objectsEqual = objectsEqual && (thatFromTime == null);
345                } else {
346                    objectsEqual = objectsEqual && thisFromTime.equals(thatFromTime);
347                }
348            }
349            
350            if(objectsEqual) {
351                Long thisThruTime = getThruTime();
352                Long thatThruTime = that.getThruTime();
353                
354                if(thisThruTime == null) {
355                    objectsEqual = objectsEqual && (thatThruTime == null);
356                } else {
357                    objectsEqual = objectsEqual && thisThruTime.equals(thatThruTime);
358                }
359            }
360            
361            return objectsEqual;
362        } else {
363            return false;
364        }
365    }
366    
367    @Override
368    public boolean hasBeenModified() {
369        return shipmentPKHasBeenModified || shipmentTypePKHasBeenModified || shipmentNameHasBeenModified || originPartyPKHasBeenModified || originWarehousePartyPKHasBeenModified || originPartyContactMechanismPKHasBeenModified || destinationPartyPKHasBeenModified || destinationWarehousePartyPKHasBeenModified || destinationPartyContactMechanismPKHasBeenModified || shippingMethodPKHasBeenModified || fromTimeHasBeenModified || thruTimeHasBeenModified;
370    }
371    
372    @Override
373    public void clearHasBeenModified() {
374        shipmentPKHasBeenModified = false;
375        shipmentTypePKHasBeenModified = false;
376        shipmentNameHasBeenModified = false;
377        originPartyPKHasBeenModified = false;
378        originWarehousePartyPKHasBeenModified = false;
379        originPartyContactMechanismPKHasBeenModified = false;
380        destinationPartyPKHasBeenModified = false;
381        destinationWarehousePartyPKHasBeenModified = false;
382        destinationPartyContactMechanismPKHasBeenModified = false;
383        shippingMethodPKHasBeenModified = false;
384        fromTimeHasBeenModified = false;
385        thruTimeHasBeenModified = false;
386    }
387    
388    @Nonnull
389    public ShipmentPK getShipmentPK() {
390        return shipmentPK;
391    }
392    
393    public void setShipmentPK(@Nonnull ShipmentPK shipmentPK)
394            throws PersistenceNotNullException {
395        checkForNull(shipmentPK);
396        
397        boolean update = true;
398        
399        if(this.shipmentPK != null) {
400            if(this.shipmentPK.equals(shipmentPK)) {
401                update = false;
402            }
403        } else if(shipmentPK == null) {
404            update = false;
405        }
406        
407        if(update) {
408            this.shipmentPK = shipmentPK;
409            shipmentPKHasBeenModified = true;
410            clearHashAndString();
411        }
412    }
413    
414    public boolean getShipmentPKHasBeenModified() {
415        return shipmentPKHasBeenModified;
416    }
417    
418    @Nonnull
419    public ShipmentTypePK getShipmentTypePK() {
420        return shipmentTypePK;
421    }
422    
423    public void setShipmentTypePK(@Nonnull ShipmentTypePK shipmentTypePK)
424            throws PersistenceNotNullException {
425        checkForNull(shipmentTypePK);
426        
427        boolean update = true;
428        
429        if(this.shipmentTypePK != null) {
430            if(this.shipmentTypePK.equals(shipmentTypePK)) {
431                update = false;
432            }
433        } else if(shipmentTypePK == null) {
434            update = false;
435        }
436        
437        if(update) {
438            this.shipmentTypePK = shipmentTypePK;
439            shipmentTypePKHasBeenModified = true;
440            clearHashAndString();
441        }
442    }
443    
444    public boolean getShipmentTypePKHasBeenModified() {
445        return shipmentTypePKHasBeenModified;
446    }
447    
448    @Nonnull
449    public String getShipmentName() {
450        return shipmentName;
451    }
452    
453    public void setShipmentName(@Nonnull String shipmentName)
454            throws PersistenceNotNullException {
455        checkForNull(shipmentName);
456        
457        boolean update = true;
458        
459        if(this.shipmentName != null) {
460            if(this.shipmentName.equals(shipmentName)) {
461                update = false;
462            }
463        } else if(shipmentName == null) {
464            update = false;
465        }
466        
467        if(update) {
468            this.shipmentName = shipmentName;
469            shipmentNameHasBeenModified = true;
470            clearHashAndString();
471        }
472    }
473    
474    public boolean getShipmentNameHasBeenModified() {
475        return shipmentNameHasBeenModified;
476    }
477    
478    @Nonnull
479    public PartyPK getOriginPartyPK() {
480        return originPartyPK;
481    }
482    
483    public void setOriginPartyPK(@Nonnull PartyPK originPartyPK)
484            throws PersistenceNotNullException {
485        checkForNull(originPartyPK);
486        
487        boolean update = true;
488        
489        if(this.originPartyPK != null) {
490            if(this.originPartyPK.equals(originPartyPK)) {
491                update = false;
492            }
493        } else if(originPartyPK == null) {
494            update = false;
495        }
496        
497        if(update) {
498            this.originPartyPK = originPartyPK;
499            originPartyPKHasBeenModified = true;
500            clearHashAndString();
501        }
502    }
503    
504    public boolean getOriginPartyPKHasBeenModified() {
505        return originPartyPKHasBeenModified;
506    }
507    
508    @Nullable
509    public PartyPK getOriginWarehousePartyPK() {
510        return originWarehousePartyPK;
511    }
512    
513    public void setOriginWarehousePartyPK(@Nullable PartyPK originWarehousePartyPK) {
514        boolean update = true;
515        
516        if(this.originWarehousePartyPK != null) {
517            if(this.originWarehousePartyPK.equals(originWarehousePartyPK)) {
518                update = false;
519            }
520        } else if(originWarehousePartyPK == null) {
521            update = false;
522        }
523        
524        if(update) {
525            this.originWarehousePartyPK = originWarehousePartyPK;
526            originWarehousePartyPKHasBeenModified = true;
527            clearHashAndString();
528        }
529    }
530    
531    public boolean getOriginWarehousePartyPKHasBeenModified() {
532        return originWarehousePartyPKHasBeenModified;
533    }
534    
535    @Nullable
536    public PartyContactMechanismPK getOriginPartyContactMechanismPK() {
537        return originPartyContactMechanismPK;
538    }
539    
540    public void setOriginPartyContactMechanismPK(@Nullable PartyContactMechanismPK originPartyContactMechanismPK) {
541        boolean update = true;
542        
543        if(this.originPartyContactMechanismPK != null) {
544            if(this.originPartyContactMechanismPK.equals(originPartyContactMechanismPK)) {
545                update = false;
546            }
547        } else if(originPartyContactMechanismPK == null) {
548            update = false;
549        }
550        
551        if(update) {
552            this.originPartyContactMechanismPK = originPartyContactMechanismPK;
553            originPartyContactMechanismPKHasBeenModified = true;
554            clearHashAndString();
555        }
556    }
557    
558    public boolean getOriginPartyContactMechanismPKHasBeenModified() {
559        return originPartyContactMechanismPKHasBeenModified;
560    }
561    
562    @Nonnull
563    public PartyPK getDestinationPartyPK() {
564        return destinationPartyPK;
565    }
566    
567    public void setDestinationPartyPK(@Nonnull PartyPK destinationPartyPK)
568            throws PersistenceNotNullException {
569        checkForNull(destinationPartyPK);
570        
571        boolean update = true;
572        
573        if(this.destinationPartyPK != null) {
574            if(this.destinationPartyPK.equals(destinationPartyPK)) {
575                update = false;
576            }
577        } else if(destinationPartyPK == null) {
578            update = false;
579        }
580        
581        if(update) {
582            this.destinationPartyPK = destinationPartyPK;
583            destinationPartyPKHasBeenModified = true;
584            clearHashAndString();
585        }
586    }
587    
588    public boolean getDestinationPartyPKHasBeenModified() {
589        return destinationPartyPKHasBeenModified;
590    }
591    
592    @Nullable
593    public PartyPK getDestinationWarehousePartyPK() {
594        return destinationWarehousePartyPK;
595    }
596    
597    public void setDestinationWarehousePartyPK(@Nullable PartyPK destinationWarehousePartyPK) {
598        boolean update = true;
599        
600        if(this.destinationWarehousePartyPK != null) {
601            if(this.destinationWarehousePartyPK.equals(destinationWarehousePartyPK)) {
602                update = false;
603            }
604        } else if(destinationWarehousePartyPK == null) {
605            update = false;
606        }
607        
608        if(update) {
609            this.destinationWarehousePartyPK = destinationWarehousePartyPK;
610            destinationWarehousePartyPKHasBeenModified = true;
611            clearHashAndString();
612        }
613    }
614    
615    public boolean getDestinationWarehousePartyPKHasBeenModified() {
616        return destinationWarehousePartyPKHasBeenModified;
617    }
618    
619    @Nullable
620    public PartyContactMechanismPK getDestinationPartyContactMechanismPK() {
621        return destinationPartyContactMechanismPK;
622    }
623    
624    public void setDestinationPartyContactMechanismPK(@Nullable PartyContactMechanismPK destinationPartyContactMechanismPK) {
625        boolean update = true;
626        
627        if(this.destinationPartyContactMechanismPK != null) {
628            if(this.destinationPartyContactMechanismPK.equals(destinationPartyContactMechanismPK)) {
629                update = false;
630            }
631        } else if(destinationPartyContactMechanismPK == null) {
632            update = false;
633        }
634        
635        if(update) {
636            this.destinationPartyContactMechanismPK = destinationPartyContactMechanismPK;
637            destinationPartyContactMechanismPKHasBeenModified = true;
638            clearHashAndString();
639        }
640    }
641    
642    public boolean getDestinationPartyContactMechanismPKHasBeenModified() {
643        return destinationPartyContactMechanismPKHasBeenModified;
644    }
645    
646    @Nullable
647    public ShippingMethodPK getShippingMethodPK() {
648        return shippingMethodPK;
649    }
650    
651    public void setShippingMethodPK(@Nullable ShippingMethodPK shippingMethodPK) {
652        boolean update = true;
653        
654        if(this.shippingMethodPK != null) {
655            if(this.shippingMethodPK.equals(shippingMethodPK)) {
656                update = false;
657            }
658        } else if(shippingMethodPK == null) {
659            update = false;
660        }
661        
662        if(update) {
663            this.shippingMethodPK = shippingMethodPK;
664            shippingMethodPKHasBeenModified = true;
665            clearHashAndString();
666        }
667    }
668    
669    public boolean getShippingMethodPKHasBeenModified() {
670        return shippingMethodPKHasBeenModified;
671    }
672    
673    @Nonnull
674    public Long getFromTime() {
675        return fromTime;
676    }
677    
678    public void setFromTime(@Nonnull Long fromTime)
679            throws PersistenceNotNullException {
680        checkForNull(fromTime);
681        
682        boolean update = true;
683        
684        if(this.fromTime != null) {
685            if(this.fromTime.equals(fromTime)) {
686                update = false;
687            }
688        } else if(fromTime == null) {
689            update = false;
690        }
691        
692        if(update) {
693            this.fromTime = fromTime;
694            fromTimeHasBeenModified = true;
695            clearHashAndString();
696        }
697    }
698    
699    public boolean getFromTimeHasBeenModified() {
700        return fromTimeHasBeenModified;
701    }
702    
703    @Nonnull
704    public Long getThruTime() {
705        return thruTime;
706    }
707    
708    public void setThruTime(@Nonnull Long thruTime)
709            throws PersistenceNotNullException {
710        checkForNull(thruTime);
711        
712        boolean update = true;
713        
714        if(this.thruTime != null) {
715            if(this.thruTime.equals(thruTime)) {
716                update = false;
717            }
718        } else if(thruTime == null) {
719            update = false;
720        }
721        
722        if(update) {
723            this.thruTime = thruTime;
724            thruTimeHasBeenModified = true;
725            clearHashAndString();
726        }
727    }
728    
729    public boolean getThruTimeHasBeenModified() {
730        return thruTimeHasBeenModified;
731    }
732    
733}